随笔分类 -  ★java

摘要:我缺乏团队经验,这次就有机会参与到团里。 和同事讨论到一个话题,就是“for(int i=0; i<len; i++)”遍历方式,而我不喜这种用法,就用了“for(obj in list)”的方式。同事一看,说我的方式会比他的方式要慢,不赞同我的用法。 当时我没有反驳,因为我没想过这个问题,慢么? 阅读全文
posted @ 2017-06-13 01:01 突破渴望 阅读(253) 评论(0) 推荐(0)
摘要:1.尽量把所有的初始化值,放到业务层/控制器(优先考滤业务层)做处理,例如: 错误写法: html 正确写法: html java 待续 阅读全文
posted @ 2017-05-27 10:16 突破渴望 阅读(161) 评论(0) 推荐(0)
摘要:hibernate的命名策略,可以减少对数据库标识符命名的维护,进一步减少这部份命名的重复性代码量,以提高维护。 hibernate的命名方式,有两类,一类是显式命名,一类是隐式命名。 显式命名:在映射配置时,设置的数据库表名,列名等,就是进行显式命名。 隐式命名:显式命名一般不是必要的,所以可以选 阅读全文
posted @ 2017-01-24 00:28 突破渴望 阅读(1437) 评论(0) 推荐(0)
摘要:hibernate应用中,继承的用途或目的主要有两点: 组件化:故明思义,把重复性的代码抽取成组件,以便重用和维护。hibernate应用中,一些重复的字段,重复的映射配置,就需要抽取成组件。 多态性:类的多态性是指下层业务所需一个父类对象,而上层业务根据所需的父类对象,传递一个子类对象。hiber 阅读全文
posted @ 2017-01-22 22:45 突破渴望 阅读(6728) 评论(0) 推荐(0)
摘要:@Target:设置该注解的应用场合。 value:ElementType[] PACKAGE包定义 TYPE类/接口/注解/枚举 + 定义 ANNOTATION_TYPE注解定义 TYPE_PARAMETER泛型定义 TYPE_USE类/接口/注解/枚举/泛型 + 定义/应用 FIELD字段定义 阅读全文
posted @ 2017-01-08 21:40 突破渴望 阅读(250) 评论(0) 推荐(0)
摘要:本文原创,转载请注明原处! 红色代表的是基本组件:包(Package),修饰符(modifier),类(Class),字段(Field),构造器(Constructor)和方法(Method)。 黄色代表的是泛型组件:可定义泛型的元素(GenericDeclaration),类型(Type),泛型( 阅读全文
posted @ 2017-01-08 20:44 突破渴望 阅读(4815) 评论(0) 推荐(1)
摘要:一些关于集合内部算法可以查阅这篇文章《容器类总结》。 (Abstract+) Collection 子类:List,Queue,Set 增: add(E):boolean addAll(Collection<? extends E>):boolean 删: remove(Object):boolea 阅读全文
posted @ 2017-01-05 12:08 突破渴望 阅读(1119) 评论(0) 推荐(0)
摘要:本文原创,转载请注明出处! 参考文章: 《“JUC锁”03之 公平锁(一)》 《“JUC锁”03之 公平锁(二)》 AbstractOwnableSynchronizer,用于供子类存取独占锁的所属线程。 #getExclusiveOwnerThread()/#setExclusiveOwnerTh 阅读全文
posted @ 2017-01-02 16:36 突破渴望 阅读(640) 评论(0) 推荐(1)
摘要:CyclicBarrier的作用是,线程进入等待后,需要达到一定数量的等待线程后,再一次性开放通行。 CyclicBarrier(int, Runnable)构造方法,参数1为通行所需的线程数量,参数2为条件满足时的监听器。 int await()/int await(long, TimeUnit) 阅读全文
posted @ 2017-01-02 14:56 突破渴望 阅读(192) 评论(0) 推荐(0)
摘要:Semaphore的作用是,限制线程通行的数量,如果线程进入时达到通行数量,便等待其它正在通行的线程释放。 acquire()获取通行 release()释放通行 availablePermits()查看通行剩余次数 int drainPermits()缩减剩余通行次数为0,并返回缩减量 reduc 阅读全文
posted @ 2017-01-02 11:08 突破渴望 阅读(1377) 评论(0) 推荐(1)
摘要:CountDownLatch的作用是,线程进入等待后,需要计数器达到0才能通行。 CountDownLatch(int)构造方法,指定初始计数。 await()等待计数减至0。 await(long, TimeUnit)在指定时间内,等待计数减至0。 countDown()计数减1。 getCoun 阅读全文
posted @ 2017-01-02 03:06 突破渴望 阅读(1664) 评论(0) 推荐(0)
摘要:本文原创,转载请注明出处。 参考文章: 《“JUC锁”03之 公平锁(一)》 《“JUC锁”03之 公平锁(二)》 锁分独占锁与共享锁,公平锁与非公平锁,悲观锁与乐观锁,可重入锁与不可重入锁,相关概念可查看其它文章。 Lock操作:加锁(lock),解锁(unlock),创建条件对象(newCond 阅读全文
posted @ 2017-01-02 00:12 突破渴望 阅读(627) 评论(0) 推荐(0)
摘要:用例1:子线程等待主线程发放许可! 用例2:主线程提前发放许可给子线程! 用例3:子线程传递数据给主线程。 全部操作: park()/park(Object)等待通行准许。 parkNanos(long)/parkNanos(Object, long)在指定运行时间(即相对时间)内,等待通行准许。 阅读全文
posted @ 2016-12-30 12:51 突破渴望 阅读(1446) 评论(0) 推荐(0)
摘要:关于volatile,找了一堆资料看,看完后想找一个方法去做测试,测了很久,感觉跟没有一样。 这本书《深入理解Java内存模型》,对volatile描述中有这样一个比喻的说法,如下代码所示,对a的读写相当于对b的同步读写。 也就是说,volatile只保证了读与写的同步,每次读取都是得到最新值,每次 阅读全文
posted @ 2016-12-30 01:26 突破渴望 阅读(586) 评论(0) 推荐(0)
摘要:这是我参考的一篇文章《基于CAS的乐观锁实现》,讲述的是一种需要CPU支持的执行技术CAS(Compare and Swap)。 首先理解什么是原子性操作,意思是不能再拆分的操作,例如改写一个值,读取一个值都属于原子性操作。 那么CAS是两个操作,先比较旧值,比较通过后再进行改写,这种连合操作合并成 阅读全文
posted @ 2016-12-28 18:16 突破渴望 阅读(794) 评论(0) 推荐(0)
摘要:ThreadLocal相当于一个Map<Thread, T>,各线程使用自己的线程对象Thread.currentThread()作为键存取数据,但ThreadLocal实际上是一个包装了这个Map,并且线程只能存取自己的数据,不能操作其它线程的数据。 T get() set(T) remove() 阅读全文
posted @ 2016-12-28 16:04 突破渴望 阅读(271) 评论(0) 推荐(0)
摘要:本文原创,转载请标明原处! 启动与入口 Thread对象可操纵一个线程,而Runnable对象代表一个可被运行的对象,必须使用Thread对象的start()方法启动线程。启动后,会先运行Thread对象的run()方法,这个方法未被重写时,就会执行Runnable对象的run()方法。 主线程的入 阅读全文
posted @ 2016-12-26 01:26 突破渴望 阅读(1070) 评论(0) 推荐(0)
摘要:本文原创,转载请标明原处! 有时需要追求效率,会代替一些算术运算。 求商:a >> n <=> a / 2^n 求积:a << n <=> a * 2^n 求余:a & ((1 << n) - 1) <=> a % 2^n 奇偶判断:a & 1 == 1 <==> a % 2 == 1 一般1表示选 阅读全文
posted @ 2016-12-24 00:03 突破渴望 阅读(1095) 评论(0) 推荐(0)
摘要:这里,我将做一个简单的通信程序,分别使用三种原始的通信工具:BIO,NIO,AIO。 功能就是一个服务器,一个客户端。服务器就是处理请求,返回响应。而客户端就是连接服务器,发送请求,接收响应。 第一步:建立通信接口 Server抽象类,定义了一个处理请求,并返回响应的方法service(...)。C 阅读全文
posted @ 2016-12-22 16:39 突破渴望 阅读(1594) 评论(0) 推荐(0)
摘要:本文原创,转载需标明原处。 通道,主要负责传输数据,相当于流,但流只能是输入或输出类型中的其一,而通道则可以兼并二者。 通道的基类是:Channel boolean isOpen() void close() 通道有同步方式和异步方式。 同步方式:亲力亲为,不交给他人来做。 异步方式:需要等待的事情 阅读全文
posted @ 2016-12-20 17:13 突破渴望 阅读(4173) 评论(0) 推荐(0)