自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(356)
  • 收藏
  • 关注

转载 Maven 利用Profile构建不同环境的部署包

项目开发好以后,通常要在多个环境部署,象我们公司多达5种环境:本机环境(local)、(开发小组内自测的)开发环境(dev)、(提供给测试团队的)测试环境(test)、预发布环境(pre)、正式生产环境(prod),每种环境都有各自的配置参数,比如:数据库连接、远程调用的ws地址等等。如果每个环境build前手动修改这些参数,显然太不fashion.maven早就考虑到了这些问题,看下面的

2018-01-31 17:25:16 314

转载 Maven项目拆分与整合

对现在已有maven ssh项目进行拆分,拆分思路:将dao层的代码已经配置文件全体提取出来到一个表现上独立的工程中。同样service、action拆分。ssh-parent: 父工程ssh-dao:(子模块)ssh-servicessh-web拆分完成对拆分后的项目进行聚合,提出概念父工程1.1 创建父工程       创

2018-01-31 17:08:47 1647

转载 maven 命令和jar包依赖范围

1、maven的两大核心:**依赖管理:对jar包管理过程**项目构建:项目在编码完成后,对项目进行编译、测试、打包、部署等一系列的操作都通过命令来实现2、maven项目的生命周期在maven中存在“三套”生命周期,每一套生命周期相互独立,互不影响。在一套生命周期内,执行后面的命令前面操作会自动执行CleanLifeCycle:清理生命周期C

2018-01-31 16:33:44 1129

转载 Maven传递依赖冲突解决的三大种方式

1 传递依赖冲突解决传递依赖:A(项目)依赖B,B依赖C(1.1版本),B是A的直接依赖,C就是A的传递依赖导入依赖D,D依赖C(1.2版本)1.1 Maven自己调解原则1.1.1 第一声明者优先原则谁先定义的就用谁的传递依赖。1.1.2 路径近者优先原则直接依赖级别高于传递依赖。1.2 排除依赖    1.

2018-01-28 15:10:55 295

转载 vim操作总结

vim的模式正常模式(按Esc或Ctrl+[进入) 左下角显示文件名或为空插入模式(按i键进入) 左下角显示--INSERT--插入命令i 在当前位置生前插入a 在当前位置后插入o 在当前行之后插入一行删除命令dw 删除光标之后的单词剩余部分。 d5w删除5个单词d$ 删除光标之后的该行剩余部分。

2017-10-16 16:19:03 258

原创 treeMap的使用

由于TreeMap需要排序,所以需要一个Comparator为键值进行大小比较.当然也是用Comparator定位的.   a. Comparator可以在创建TreeMap时指定   b. 如果创建时没有确定,那么就会默认使用key.compareTo()方法,这就要求key必须实现Comparable接口.一、对key进行排序:import java.util.Co

2017-10-10 22:28:06 384

原创 java正则表达式实例

字符 说明 \ 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,"n"匹配字符"n"。"\n"匹配换行符。序列"\\\\"匹配"\","\\("匹配"("。 ^ 匹配输入字符串开始的位置。如果设置了RegExp对象的Multiline属性,^ 还会与"\n"...

2017-09-16 23:44:58 371

转载 Spring事务处理实例

天温习spring的事务处理机制,总结如下 对于SQL事务的概念以及ACID性质,可以参见我的另一篇博文 http://kingj.iteye.com/admin/blogs/1675011spring的管理的事务可以分为如下2类:逻辑事务   在spring中定义的事务通常指逻辑事务,提供比物理事务更抽象,方便的事务配置管理,但也基于物理事务物理事务  特定于

2017-09-06 22:21:10 446

原创 hadoop之从数据流向角度分析MapReduce流程

从数据流向角度分析MapReduce流程JobTracker:负责任务的调度和集群资源监控TaskTracker:负责汇报心跳和任务的执行1、inputMapReduce计算框架首先会用InputFormat类的子类FileInputFormat类将作为输入的HDFS上的文件切分形成输入分片(InputSplit),每个InputSplit将作为一个Map任务的输入,再将Input...

2017-08-06 00:08:31 811

原创 hadoop之HDFS总结

1.1认识HDFS当数据集的大小超过单台计算机的存储能力时,有必要将其进行分区并存储在若干台单独的计算机上。而通过网络来进行管理的跨多台计算机存储的文件系统称为分布式文件系统。该系统架构于网络之上,势必会引入网络编程的复杂性,因此分布式文件系统比普通的文件系统更为复杂,比如容忍节点故障且不丢失任何数据等。1.1.1HDFS的优缺点优点:(1)适合存储超大文件:存储在Hadoop分布式文件系统的文件...

2017-08-04 11:58:22 473

原创 mysql是怎么实现的

mysql包含很多个模块,mysql初始化模块跟据系统配置参数初始化整个系统和存储引擎。连接线程模块负责将客户端请求和负责请求mysql服务器的链接线程连上。当客户端发出query请求的时候,会经过query解析器和query分发器,分发到查询缓存模块或者其他相关处理模块。各个模块收到分发模块分发过来的请求之后会通过访问控制模块检查连接用户是否有访问目标表的权限。最后根据表的存取引擎类型,提交请求

2017-04-18 15:04:45 611 1

原创 jvm之java程序从编写到执行的结构链路

jvm之java程序从编写到执行的结构链路1.java前端编译器负责将java源代码编译为字节码-->前端编译器2.java虚拟机负责将编译好的字节码装载进内部-->java类加载步骤和运行时区域3.最后解释/编译为对应平台上的机器指令执行-->jvm执行引擎和垃圾回收GC

2017-04-11 16:00:03 641 1

原创 linux技术分享笔记

1.查看日志用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。//查看log.txt日志文件,把有spring的那一行和前后10行都打印出来[root@Slave2 test1]# less log.txt | grep "spring" -C 102.添加环境变量/etc/profi

2017-03-26 23:16:30 937

原创 判断两个对象是否相等,hashcode和equals方法的联系

1、在集合中考虑两个对象是否相同的规则是:第一步:如果hashCode()相等,则进行第二步,否则不相同。第二步:查看equals()相等就相等,否则不相同2、hashcode是对象或者变量通过哈希算法计算出来的hash值,不同对象是不一样的,同一个对象是不变的。3、equals()相等,hashcode一定相等hashcode不相等,equals一定不相同4、在重写类

2017-02-23 23:40:17 4482

原创 DDDDDD

聚合根的特点:聚合根是实体,有实体的特点,具有全局唯一ID,有独立的生命周期。一个聚合只有一个聚合根,聚合根在聚合内对实体和值对象采用直接对象引用的方式进行组织和协调,聚合根与聚合根之间通过 ID 关联的方式实现聚合之间的协同。聚合的特点:高内聚、低耦合,它是领域模型中最底层的边界,可以作为拆分微服务的最小单位,但我不建议你对微服务过度拆分。3、限界上下文可以作为微服务划分的方法,一个界限上下文必须支持一个完整的业务流程,保证这个业务流程所涉及的领域都在一个限界上下文中。导购:负责用户的搜索和下单,

2024-01-17 20:50:20 401

原创 字符串压缩

2023-12-22 16:07:59 73

原创 移动零(双指针)

移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。,编写一个函数将所有。

2023-12-22 16:05:27 69

原创 定长子串中元音的最大数目(字符串定长滑动窗口)

"lee"、"eet" 和 "ode" 都包含 2 个元音字母。任意长度为 2 的子字符串都包含 2 个元音字母。的单个子字符串中可能包含的最大元音字母数。子字符串 "iii" 包含 3 个元音字母。

2023-12-22 16:02:45 77

原创 适配器模式

JDBC驱动程序:不同的数据库提供商实现了不同的JDBC驱动接口,使用适配器模式可以将这些不同的接口适配为标准的JDBC接口,提高应用程序的可移植性。

2023-12-19 17:31:56 183

原创 字符串相加

【代码】字符串相加。

2023-12-15 19:20:14 40

原创 二叉树的层序遍历

【代码】二叉树的层序遍历。

2023-12-15 15:49:56 35

原创 是否是有效括号(使用到栈)

【代码】是否是有效括号(使用到栈)

2023-12-15 15:48:22 41

原创 LRU算法(面试遇到两次)

算法是⼀种缓存淘汰策略。如果新存入或者访问一个值,则将这个值放在队列开头。如果存储容量超过上限cap,那么删除队尾元素,再存入新的值。的元素或者的元素要放到链表的头部,对于,所以每次插入或者查询都需要维护链表中元素的顺序。

2023-12-15 14:20:31 186

原创 快速排序(面试)

【代码】快速排序(面试)

2023-12-15 14:14:44 18

原创 合并有序链表(面试遇到一次)

我们可以用迭代的方法来实现上述算法。当 l1 和 l2 都不是空链表时,判断 l1 和 l2 哪一个链表的头节点的值更小,将较小值的节点添加到结果里,当一个节点被添加到结果里之后,将对应链表中的节点向后移一位。

2023-12-15 14:12:41 23

原创 反转单链表(面试遇到两次)

假设链表为 1→2→3→∅改成∅←1←2←3。

2023-12-15 14:08:53 32

原创 责任链模式

责任链模式:将链中每个节点看成一个对象,每个节点处理一件事情,如果节点出现异常,则中断执行。RepeatOrderHandleInterceptService:用于重复下单的逻辑验证。当然,有的同学可能觉得这种方法用的不习惯,不喜欢通过。如果需要继续加验证流程或者处理流程,只需要重新实现。再然后,我们还需要创建一个订单数据验证管理器。最后,我们编写单元测试来看看效果如何!首先,我们定义一个简易版的下单对象。然后,我们定义一个数据处理接口。接口就行,其他的代码无需改动!,用于管理这些实现类。

2023-12-12 18:52:48 213

原创 Spring相关

Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。PROPAGATION_REQUIRED_NEW:表示当前方法必须运行在它自己的事务中。如果当前事务存在,方法将会在该事务中运行。否则,会启动一个新的事务。Spring事务处理模块是通过AOP功能来实现声明式事务处理的,生成的代理会拦截目标对象的外部方法调用,自动开启事务、自动提交事务或回滚。PROPAGATION_SUPPORTS:如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行。

2023-11-21 10:17:31 121

原创 分布式锁实现对比

2.一个用户创建一个节点作为锁,另一个用户检测该节点,如果存在,代表别的用户已经锁住,如果不存在,则可以创建一个节点,代表拥有一个锁。1.Zookeeper能保证数据的强一致性,用户任何时候都可以相信集群中每个节点的数据都是相同的。

2023-11-20 14:31:14 158

原创 zookeper&kafka学习

每个分区有一个leader(分区都有备份的,分区leader在所有的broker中选择),零或多个follower。一台服务器可能同时是一个分区的leader,另一个分区的follower。当单个消费者无法跟上数据生成的速度,就可以增加更多的消费者分担负载,每个消费者只处理部分partition的消息,从而实现单个应用程序的横向伸缩。kafka中支持消息持久化的,生产者生产消息后,kafka不会直接把消息传递给消费者,而是先要在broker中进行存储,持久化是保存在kafka的日志文件中。

2023-11-17 16:48:03 661

原创 ConcurrentHashMap是如何实现线程安全的

多段锁+cas+synchronize。

2023-11-05 22:44:01 188

原创 JAVA应用中线程池设置多少合适?

上面的例子中,程序不停的循环什么都不做,CPU 要不停的执行指令,几乎没有啥空闲的时间。如果插入一段 I/O 操作呢,I/O 操作期间 CPU 是空闲状态,CPU 的利用率会怎么样呢?只有9 号核心的利用率较高,大但也才 50%,和前面没有 sleep 的 100% 相比,已经低了一半了。此时再看 CPU 利用率,1/2/5/7/9/11 几个核心的利用率已经被跑满。从图上可以看到,我的 3 号核心利用率已经被跑满了。单个核心的利用率 60 左右。

2023-11-05 22:22:41 254

原创 门面模式门面模式

门面模式(Facade Pattern)属于结构型模式。通过给多个复杂的子系统提供一个门面(高层接口),使这些子系统更加容易的被访问,客户端与门面直接通信,封装/隐藏背后子系统的细节与复杂度。

2023-10-31 15:18:00 86

原创 观察者模式

定义一个事件:实现一个继承自的类,并且写相应的构造函数;定义一个事件监听者:实现接口,重写方法;使用事件发布者发布消息: 可以通过的方法发布消息。

2023-10-31 14:58:53 49

原创 代理模式和动态代理模式

使用代理模式主要有两个目的:一是保护目标对象,二是增强目标对象。

2023-10-31 14:49:33 66

原创 java泛型

使用泛型类优化后,在类中只需要定义一个方法就可以支持shou方法传递多个类型。一个类的成员变量或者方法可能传入多个类型,则需要泛型类。

2023-10-30 20:28:12 162

原创 反转字符串中的单词

例如:s=“ the sky is blue”;返回“blue is sky the”1、字符串s中使用至少一个空格将单词分隔开,返回单程顺序颠倒且单词之间用单个空格链接。

2023-10-24 19:53:32 36

原创 无重复字符串的最长子串(去除重复字母,可以不连续)

【代码】去除重复字母。

2023-10-24 19:26:48 37

原创 判断子序列(双指针)

【代码】判断子序列。

2023-10-24 17:14:25 29

原创 代理模式:静态代理和动态代理

代理模式

2023-05-08 08:38:44 62 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除