原创笔记
文章平均质量分 75
jjhpeopl
喜欢编程,喜欢自己搞出来的东西,有时就会有那种成就感!呵呵!
展开
-
线程休眠的重要性
不说太多废话,直接上代码public void run() { while (true) { //很简单的逻辑处理,不涉及其他线程数据 continue; }} 在以上代码中,线程执行逻辑处理后,并没有任何停顿,线程直接继续运行。这种情况下,一个...原创 2014-07-16 15:56:53 · 1291 阅读 · 1 评论 -
Collections.sort(List, Comparator)方法解析
Collections.sort()方法有两种参数类型,如下:Collections.sort(List<T> list),直接给定需要排序的list,然后按照自然排序进行排序。Collections.sort(List<T> list,Comparator<? super T> c),这个方法需要提供比较器,然后排序时会根据比较器的实现逻辑进行排序。...2018-01-22 17:03:16 · 1661 阅读 · 0 评论 -
垃圾回收的两点三共四标
java的垃圾回收主要是来解决两个问题的:1、找到内存空间里的垃圾2、回收垃圾,让程序能再次利用这部分空间 这里插一句解释什么是垃圾:就是分配到堆中的那些不能通过程序引用的对象称为非活动对象,也即是占着坑不拉屎的垃圾。 处理这些垃圾的算法也有几种:标记清除算法、复制算法、分代算法等 这些算法都是在解决以下三个问题:1、如何分辨出哪些是垃圾2、如何、何时搜索...2017-02-16 17:27:12 · 105 阅读 · 0 评论 -
锁的进化
java线程是映射到操作系统的原生线程之上的,若是要唤醒或阻塞一个线程,都需要操作系统来帮忙完成,这就需要从用户态转换到内核态中,这种转换需要耗费很多的处理时间,有可能比用户代码执行时间都要长。为了避免以上情况出现,一般能不用锁就不用锁,若是不得不使用的情况下,可以使用偏向锁、自旋锁等。1、重量级锁锁的意义是什么呢?当数据被多个线程共享时,为了保证数据的正确性,避免竞争导...原创 2017-07-19 14:00:16 · 162 阅读 · 0 评论 -
mysql的replace into“坑”
在向表中插入数据的时候,经常遇到这样的情况:1. 首先判断数据是否存在; 2. 如果不存在,则插入;3.如果存在,则更新。 这种情况就可以使用replace into语句来解决,但是有没有问题,且看下去 下面是数据更新前的样子在auto这个表中,k字段是唯一索引,当执行replace into auto (k,v) values (10,11);后,数据变为...2017-04-13 14:37:43 · 725 阅读 · 0 评论 -
单例模式和双重检查锁定
相信大家对单例模式应该不陌生,每个人都能写出好多种单例模式的实现,总结来说就有五种:懒汉、饿汉、静态内部类、枚举和双重检查锁定。针对这几种方式的代码,可以在网上搜索到,这里就不再细说。 最近又看了一遍单例的几种实现方式,发现了一些其他东西。先看以下单例模式的实现代码public class Singleton2 { private Singleton2(){} priv...原创 2016-10-17 17:15:59 · 376 阅读 · 0 评论 -
maven-compiler-plugin插件指定编译
最近拿到一个maven系统,需要使用jdk1.8的环境才能运行(公司开发使用jdk1.7),于是下载、安装jdk1.8。 安装完成之后(本人使用idea工具),打开module settings,设置里面的Modules->Dependencies->module sdk为安装好的1.8版本,同时还得设置Modules->Dependencies->sources...2016-09-02 13:50:16 · 679 阅读 · 0 评论 -
SimpleDateFormat、FastDateFormat和Joda-Time的介绍
众所周知,SimpleDateFormat是线程不安全的,不能多个线程公用。而FastDateFormat和Joda-Time都是线程安全的,可以放心使用。 SimpleDateFormat是JDK提供的,不需要依赖第三方jar包,而其他两种都得依赖第三方jar包。FastDateFormat是apache的commons-lang3包提供的Joda-Time需要依赖以下mav...原创 2016-08-30 13:48:20 · 850 阅读 · 0 评论 -
并行和并发的简单理解
举一些实际例子能够方便理解 并发可以说是一心二用,同时处理多件事情比如:上课时,你一边听老师讲课,一边用手机看小说,这就算是并发 并行呢,可以说是一件事被分解为多个小任务,这些小任务被同时做,完成这些小任务就是为了完成这件事比如,老师需要100个蝴蝶结,这位老师很聪明,他让班里的50位同学帮忙,每个同学弄2个交给他,这样就算是并行,50位同学并行做这件事 但一般...原创 2016-06-03 12:09:35 · 194 阅读 · 0 评论 -
mac python2.7安装PIL.Image模块
要想在python中操作图片,比如引入PIL(Python Imaging Library)库。 在python安装第三库时,可以使用工具easy_install或pip,我推荐使用pip这个工具。针对mac电脑,pip是不需要手动安装,在命令行可以直接输入pip验证是否已经安装。 若是pip没有安装,可以使用命令sudo easy_install pip(保证mac连接互联网)...2016-05-26 16:25:05 · 354 阅读 · 0 评论 -
如果正面突击失败,曲线救国也不错
如果正面突击失败,曲线救国也不错总感觉现在的我们是那么的浮躁,那么的好高骛远。如果只是一味的采取正面突击,纵使你有无数才华,也有可能被埋没。脚踏实地走好每一步,即使再微小的事,只要你认真对待,终有一天你会展现自己的才华。有句俗话:勿以善小而不为,勿以恶小而为之。道理都是相通的。...原创 2015-03-04 19:32:41 · 111 阅读 · 0 评论 -
list的iterator大用处
java中list的iterator方法,相信都有用到过,但这里有个很实用的方式。由于最近系统增加了导出功能,而且一次性就需要导出大量数据,而查询出来这些数据之后,会占用比较大的内存,若是在导出过程中,还需要把这些数据转换成其他对象,这样就会占用更大的内存。注意:本文只针对内存比较敏感的系统。为了解决类似这样的问题,就需要利用list的iterator方法了,使用这个迭代器来进行循...2018-04-19 17:20:20 · 399 阅读 · 0 评论