帅气的毛毛侠

导航

#

[置顶] 第八章、线程池的使用

摘要: 线程工厂的使用: 在创建线程时,应该要初始化它的线程名称,以便以后更好的查找错误,下面的示例展示了线程工厂的使用,创建线程是并发的,因此count使用原子类。 测试类: 扩展ThreadPoolExecutor 下面演示使用给线程增加日志和计时功能,startTime使用ThreadLocal是因为 阅读全文

posted @ 2017-06-11 19:17 帅气的毛毛侠 阅读(448) 评论(0) 推荐(0) 编辑

#

[置顶] 使用ftpClient下载ftp上所有文件

摘要: 需求:最新项目需要,写个小功能,需求就是实时下载ftp指定文件夹下的所有文件(包括子目录)到本地文件夹中,保留文件到目录路径不变。 分析:关键在于实时和下载并保持原目录。实时使用线程的定时调度完成,主要做后者,这显然要使用递归,但是ftp上的文件是不能直接得到相对路径的(恕我才疏学浅,并没有在FTP 阅读全文

posted @ 2017-04-24 00:33 帅气的毛毛侠 阅读(6315) 评论(0) 推荐(1) 编辑

#

[置顶] Spring学习之路:jdbcTemplate的简单练习

摘要: 一、介绍 Hibernate是对jdbc的重度包装,用户感觉不到sql的操作,全用HSQL;mybatis是对jdbc的中度包装,依旧要写一些sql,精髓是在于sql的组装;jdbcTemplate为轻度组装,它只是将数据库的连接和关闭包装了,但是没有比mybatis智能(体现在未能将查询出来的结果 阅读全文

posted @ 2017-03-05 11:45 帅气的毛毛侠 阅读(1054) 评论(0) 推荐(0) 编辑

#

[置顶] Spring学习之路AOP

摘要: 恢复内容开始 1、AOP的主要作用及概念简介 AOP最大的用处在于事务处理上,业务层在项目中主要负责以下的操作: ·调用数据层进行处理; ·进行事务的处理; ·关闭数据库的连接操作; 但在实际操作中,往往还要进行日志处理,事务提交等等辅助性操作,此时aop就派上用场。一个优秀的代理模式是将不同的切入 阅读全文

posted @ 2017-02-21 19:26 帅气的毛毛侠 阅读(194) 评论(0) 推荐(0) 编辑

2018年3月8日 #

对象序列化

摘要: 将那对象序列化到内存中,再将内存中序列化对象反序列化 阅读全文

posted @ 2018-03-08 23:09 帅气的毛毛侠 阅读(113) 评论(0) 推荐(0) 编辑

2018年2月25日 #

实习总结

摘要: 刚开始进入公司的时候,发现公司的框架分成control、model、DAO、Entity,这个比我了解的SpringMVC的框架有所出入,我便提出来service层的好处,经理告诉我,小项目暂时还不用搭建service层,保持简洁即可。当时我其实对SpringMVC理解不深:原来搭建service层 阅读全文

posted @ 2018-02-25 23:13 帅气的毛毛侠 阅读(88) 评论(0) 推荐(0) 编辑

2017年在技术方面的总结

摘要: 在去年的8月到今年的4月,做数据接入这个程序,一直做的是数据的抽取,以及公安接口的程序,原先的ETL抽取速度很慢,项目经理要求提高速度性能,刚开始是往并发方面去想,但是,增加多线程抽取(oracle)后发现与单线程抽取并没有很大幅度的提升。因此,我觉得性能瓶颈不是由单线程引起的,因此,去年春节下班前 阅读全文

posted @ 2018-02-25 23:12 帅气的毛毛侠 阅读(105) 评论(0) 推荐(0) 编辑

2017年12月4日 #

ArrayList常用方法源码

摘要: 源码:基于JDK1.8 成员变量: 构造函数: (1)常用的add(element)方法: (2)add(index, element):检查index是否越界,确认是否要扩张数组(如果需要扩张就扩张),从index开始,向后移动size-index位,将index位置的元素值设置为elment,数 阅读全文

posted @ 2017-12-04 20:20 帅气的毛毛侠 阅读(183) 评论(0) 推荐(0) 编辑

2017年12月3日 #

11章、持有对象

摘要: 本章主要介绍了各种容器: 1、List(ArrayList): 基于数组的List实现,提供随机访问,随机存储。 http://www.cnblogs.com/chenkaiwei/p/7978836.html 2、迭代器Iterator(基本使用): (1)使用iterator()方法返回一个It 阅读全文

posted @ 2017-12-03 22:41 帅气的毛毛侠 阅读(127) 评论(0) 推荐(0) 编辑

2017年11月26日 #

19章、枚举

摘要: 1.枚举的遍历: 主要知识点: (1)创建enum时,编译器会为你生成一个相关的类,这个类继承自java.lang.Enum. (2)Enum本身没有values()方法,是编译器在编译的时候增加的。values()是静态方法 (3)代码中的ordinal()方法是取得当前枚举的序列; (4)nam 阅读全文

posted @ 2017-11-26 21:05 帅气的毛毛侠 阅读(126) 评论(0) 推荐(0) 编辑

多线程杂谈

摘要: 1.非阻塞算法:比较并交换(CAS compare-and-swap):使用底层原子化的指令来取代锁,从而保证数据在并发情况下的一致性。原理如下: http://www.jianshu.com/p/473e14d5ab2d 2.锁的缺点: (1)由于锁引起的线程调度和上下文切换 (2)获取锁的线程, 阅读全文

posted @ 2017-11-26 11:03 帅气的毛毛侠 阅读(90) 评论(0) 推荐(0) 编辑

2017年11月25日 #

第十四章、构建自己的同步工具

摘要: 1.条件谓词概念: 2.依赖于条件谓词的状态来决定执行或者休眠,可以使用condition:即Condition.await()和Condition.signal()方法 在使用await和notify之前要先加锁,再进行await()或者notify(),在每次调用await方法的时候,就会进入该 阅读全文

posted @ 2017-11-25 09:26 帅气的毛毛侠 阅读(98) 评论(0) 推荐(0) 编辑

2017年11月21日 #

第十三章、显示锁

摘要: 1.内部锁synchronized的缺点:不能中断那些正在等待获取锁的线程,并且在请求锁失败的情况下必须无限地等待。相比直线ReentrantLock为处理不可用锁,提供了更加灵活的操作。 2.ReentrantLock优点:可轮询,可定时,可中断。缺点:当锁忘记释放的时候,就很难排查到错误;写法不 阅读全文

posted @ 2017-11-21 22:04 帅气的毛毛侠 阅读(94) 评论(0) 推荐(0) 编辑

2017年11月19日 #

kafka集群安装

摘要: 1.zookeeper集群安装 阅读全文

posted @ 2017-11-19 11:41 帅气的毛毛侠 阅读(81) 评论(0) 推荐(0) 编辑