- 博客(109)
- 资源 (1)
- 收藏
- 关注
原创 《java并发编程的艺术》note
关于内存模型,并发包的底层实现仍需研究。6.java并发容器和框架6.1ConcurrentHashMap 6.2ConcurrentLinkedQueue 同步队列 6.3java中的阻塞队列 插满等,移空空 6.4Fork/Join框架 切分小任务7.java中13个原子操作类 原子更新基本类型类: AtomicBoolean ...
2018-01-30 10:02:58
280
原创 《java多线程编程核心技术》笔记
一.java多线程基础:熟悉Thread类1.2实现多线程方法: 继承Thread类 实现Runnable接口 1.4isAlive() 1.5sleep() 1.6getId() 1.7停止线程: 1.interrupt():把标志位设置而已,不会立即停止 interrupted():当前线程是否中断?状态标志位置为false isInterrup
2018-01-26 22:50:04
280
原创 lucene
lucene适用于全文检索,文件内容检索,目前少数情境下会使用lucene,而不用sql 一. 原始记录表+索引表 1.lucene索引库在硬盘中,原始库接受的是Document对象,通过IndexWriter流写入硬盘。 2.检索:传入关键字,指定查询字段。IndexSearcher流查询得到索引表中的TopDocs对象(012),进而得到索引表中封装编号和分数的ScoreDoc对象,便可
2018-01-23 21:33:35
445
原创 Activiti工作流
eclipse装插件 eclipse设计bpmn图,可理解为xml文件 部署可自动更新到mysql:关键是ProcessEngine对象,如同Hibernate的session对象。表共23个. 可用代码控制流程下一步 可根据代理人查询任务列表
2018-01-22 18:12:19
216
原创 设计模式小结
参考:http://blog.youkuaiyun.com/cooldragon/article/details/52164380创建型1.抽象工厂 2.建造者 3.工厂方法 4.原型 5.单例结构型:1.适配器 2.桥接 3.组合 4.装饰 5.外观 6.代理 7.享元行为型1.观察者 2.模板方法 3.命令 4状态 5.职责链
2017-10-05 20:48:53
258
原创 My Oracle Note
一:BASIC数据类型: number(5):最多99999 number(6,2):小数两位,四舍五入,整数最多四位 varchar2(8):八个字节 date:默认格式为:’27-4月-15’ CLOB:大文本对象,4G BLOB:视频等,4G1.解决null:使用NVL()函数,NVL(a,b):如果a是NULL,用b替代 2.oracle中单引号表示字符串类型或者是日期类型
2017-08-24 21:36:55
308
原创 My Redis Note
参考资料:http://www.runoob.com/redis/redis-tutorial.html javaee 互联网轻量级框架整合开发之前项目需要学了一下mongodb,小结一下就是mongo有许多集合(理解为表),文档(理解为行),适合存储大量数据。基本语法也差不多,确实存储大量数据时很棒。顺便学一下redis,越来越爆款的一款nosql开源数据库,主要开发中当作缓存使用,提高性...
2017-08-03 11:50:22
360
原创 JMS-ActiveMQ系列
JMS基本概念: http://blog.youkuaiyun.com/jiuqiyuliang/article/details/46701559 JMS简单介绍及安装: http://blog.youkuaiyun.com/jiuqiyuliang/article/details/47160259 JMS Hello World: http://blog.youkuaiyun.com/jiuqiyuliang/articl
2017-07-27 17:54:27
267
原创 linux shell(一) helloWorld
1. chmod 777 script.sh ./script.sh ;等同于 enter键2.打印 echo xx printf: 类似c语言3.变量/环境变量 cat /proc/PID/environ取进程id:grep进程名var=”value”echoPID/environ 取进程id:grep 进程名 var=”value” echo var echo ${v
2017-07-25 12:03:06
497
原创 java文件IO总结
一.字节流import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class CopyByByteStream { public static void main(String
2017-07-23 09:57:32
247
原创 java监控linux服务器CPU,内存等信息
最近公司在做爬虫系统,我接到一个需求是获取服务器CPU,内存等信息。一开始我打算通过linux shell获取然后输出到文件,java读取文件获得。后来回想一切皆文件的linux应该本来就有记录在文件中,经过查找资料,找到了解决方法。 资料参考:http://www.jb51.net/article/75002.htm* 取得linux系统下的cpu、内存信息 * * */ publi
2017-07-18 14:51:56
8760
原创 MongoDB Note
初学指令use databasedbshow dbs show tablesdb.collection.insert({...}) save:指定_id为更新db.collection.find() .pretty()db.dropDatabase()db.collection.drop()db.collection.update({'title':'MongoDB
2017-07-17 14:14:01
290
原创 solution of my error
一.数据库列和java关键字冲突:数据库某一列为date select task.\”DATE\” from task
2017-07-06 11:28:23
213
原创 正则表达式知识点小结
1.单个字符,及. . \.2.取集合的值[ns],[0-9],[A-Za-z0-9],[`0-9]3转义匹配本身\4元字符需要转义:. \ []5空白字符\r \n \t6数字非数字,字母\d \D7任一字母数字字符或下划线:\w任一非字母数字或非字母数字或非下划线字符8参考7,多个字符\w+\W+9https?最多一次S* 0或多次10次数控制[0-9A-Fa-f]{6
2017-06-21 19:22:10
246
原创 复习-File对象简单实用
public class ListMp3File { public void listmp3File(String fileName) { File file = new File(fileName); //传入路径创建file对象 if (file.isDirectory()) {
2017-06-20 16:23:29
254
原创 WebService 2
一.回顾soap :简单对象访问协议 http+xml Soa :面向服务的架构,它是一种思想二.带接口webservice发布1.service接口@WebService@WebServicepublic interface JobService { public String getJob();}2serviceImpl@WebService(endpointInterface=
2017-06-17 09:23:51
510
原创 webservice 1
一.体验 可以直接调用,但是返回数据比较难提取,建议使用本地代理 1.进入wsdl文件http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?WSDL2.cmd destop: wsimport -s ./ -p com.kinth.wsimport http://ws.webxml.com.cn/WebServices/MobileCodeW
2017-06-16 15:28:06
267
原创 socket通信
一.服务端服务端开启socket,端口 开输入流监听客户端信息 读取客户端传来的信息并处理 开启输出流并写出数据二.客户端开启socket端口 写出待处理数据 开启输入流读取获取服务端传来的信息附注:server:public class Service { public static void main(String[] args) throws IOException {
2017-06-16 13:28:30
460
原创 CSS常用样式小结
1.background: color repeat image position attachment background-image:url(“”);2.text: color align spacing indent transform3.font:family size style variant weight4.link:link visited hover active a:li
2017-05-26 10:21:01
244
转载 java并发容器集合
转自:http://blog.youkuaiyun.com/u010425776/article/details/54890215概述 java.util包中的大部分容器都是非线程安全的,若要在多线程中使用容器,你可以使用Collections提供的包装函数:synchronizedXXX,将普通容器变成线程安全的容器。但该方法仅仅是简单地给容器使用同步,效率很低。因此并发大师Doug Lea提
2017-05-17 09:22:22
322
转载 Java并发编程(十二)——锁优化
转自:http://blog.youkuaiyun.com/u010425776/article/details/58598307目录(?)[+]自旋锁锁清除锁粗化轻量级锁偏向锁 自旋锁背景:互斥同步对性能最大的影响是阻塞,挂起和恢复线程都需要转入内核态中完成;并且通常情况下,共享数据的锁定状态只持续很短的一段时间,为了这很短的一段时间进行上下文切换并不值得。原理:当一条线程需要请求一把已
2017-05-17 00:01:51
252
转载 Java并发编程(十一)——线程安全
转自:http://blog.youkuaiyun.com/u010425776/article/details/58323471目录(?)[+]什么是线程安全线程安全的几种程度1 绝对的线程安全2 相对的线程安全3 线程对立实现线程安全的方法1 互斥同步2 非阻塞同步无同步方案 1. 什么是『线程安全』?如果一个对象构造完成后,调用者无需额外的操作,就可以在多线程环境下随意地使用,并且不发生错
2017-05-16 23:29:06
260
转载 Java并发编程(十)——线程池(2)
转自:http://blog.youkuaiyun.com/u010425776/article/details/56676897目录(?)[+]Executor两级调度模型Executor结构线程池FixedThreadPoolCachedThreadPoolSingleThreadExecutorScheduledThreadPool Executor两级调度模型 在HotSpot虚拟机
2017-05-16 22:56:06
192
转载 Java并发编程(九)——线程池(1)
转自:http://blog.youkuaiyun.com/u010425776/article/details/56673564目录(?)[+]线程池的作用线程池的实现原理ThreadPoolExecutor的使用创建线程池提交任务关闭线程池ThreadPoolExecutor运行机制设置合理的线程池大小 线程池的作用减少资源的开销 减少了每次创建线程、销毁线程的开销。提高响应速度 每
2017-05-16 22:26:16
243
转载 Java并发编程(八)——批量获取多条线程的执行结果
摘自:http://blog.youkuaiyun.com/u010425776/article/details/54580710目录(?)[+]方法一自己维护返回结果方法二使用ExecutorService的invokeAll函数方法三使用CompletionService当向线程池提交callable任务后,我们可能需要一次性获取所有返回结果,有三种处理方法。方法一:自己维护返回结果// 创建一个线程池E
2017-05-16 22:02:53
2682
转载 Java并发编程(七)——闭锁、同步屏障、信号量详解
目录(?)[+]闭锁CountDownLatch1 使用场景2 代码实现同步屏障CyclicBarrier1 使用场景2 闭锁 与 同步屏障 的区别3 代码实现信号量Semaphore1 使用场景2 代码实现 1. 闭锁:CountDownLatch1.1 使用场景若有多条线程,其中一条线程需要等到其他所有线程准备完所需的资源后才能运行,这样的情况可以使用闭锁。1.2 代码实现//
2017-05-16 21:33:26
488
转载 Java并发编程(六)——Executors
转自:http://blog.youkuaiyun.com/u010425776/article/details/54580157目录(?)[+]Executors框架简介Executor类ExecutorService类Executors类Executor执行任务Executor执行Runnable任务Executor执行Callable任务ThreadPoolExecutor类 Execu
2017-05-16 20:36:52
262
转载 Java并发编程(五)——线程间通信
转自:http://blog.youkuaiyun.com/u010425776/article/details/54341405目录(?)[+]volatilesynchronized关键字1 如何实现通信2 特点3 使用场景4 例子等待通知机制1 如何实现2 注意点3 QA4 代码实现5 超时等待模式管道流1 作用2 特点3 实现join1 作用2 实现多条线程之间有时需要数据交互,下面介绍五种线程间数据交
2017-05-16 20:28:33
234
转载 java并发编程(四)——中断
转自:http://blog.youkuaiyun.com/u010425776/article/details/54313661目录(?)[+]什么是中断中断的相关方法暂停继续停止线程已过时中断的使用设置中断监听触发中断安全地停止线程循环标记变量循环中断状态总结处理中断QA 什么是中断?在Java中没有办法立即停止一条线程,然而停止线程却显得尤为重要,如取消一个耗时操作。因此,Java提供了一
2017-05-15 23:49:05
248
转载 Java并发编程(三)——线程的状态
转自:http://blog.youkuaiyun.com/u010425776/article/details/54292463目录(?)[+]线程的状态初始态NEW运行态RUNNABLE阻塞态等待态超时等待态终止态线程状态转换图初始态就绪态就绪态运行态就绪态运行态运行态阻塞态阻塞态就绪态运行态等待态等待态就绪态等待态阻塞态注意点 线程的状态初始态:NEW创建一个Thread对象,但还未调用
2017-05-15 23:19:16
325
转载 Java并发编程(二)——volatile
目录(?)[+]并发编程的两个关键问题通信的方式1 通信方式的种类2 Java使用的通信方式Java多线程的内存模型简化版volatile是什么volatile的使用volatile的特性1 重排序2 可见性什么是内存可见性为什么会出现内存不可见的情况如何确保共享变量的可见性为什么volatile能保证共享变量的内存可见性volatile变量赠送的附加功能3 原子性什么是原子性volatile能确保
2017-05-15 23:06:13
583
转载 java并发编程(一)-并发编程需要注意问题
目录(?)[+]问题一上下文切换会带来额外的开销线程的运行机制什么是上下文切换上下文切换的过程上下文切换是有开销的如何减少上下文切换问题二并发不当可能会产生死锁什么是死锁死锁示例如何避免死锁问题三计算机资源会限制并发误区线程越多速度越快什么是资源如何解决资源的限制 并发是为了提升程序的执行速度,但并不是多线程一定比单线程高效,而且并发编程容易出错。若要实现正确且高效的并发,就要在开发过
2017-05-15 22:11:43
223
转载 JVM-垃圾回收机制
转载请注明出处:http://blog.youkuaiyun.com/ns_code/article/details/18076173对象引用 Java中的垃圾回收一般是在Java堆中进行,因为堆中几乎存放了Java中所有的对象实例。谈到Java堆中的垃圾回收,自然要谈到引用。在JDK1.2之前,Java中的引用定义很很纯粹:如果reference类型的数据中存储的数值代表的是另外一块内存的起始地址,就称
2017-05-14 23:48:36
189
转载 JVM:Java内存区域与内存溢出
一.运行时数据区域6个。单个线程独有:线程程序计数器,虚拟机栈,本地方法栈。所有线程共有:JAVA堆,方法区,运行时常量池(本属方法区,java虚拟机划分出来)1.程序计数器:一块较小的内存空间,它是当前线程所执行的字节码的行号指示器,字节码解释器工作时通过改变该计数器的值来选择下一条需要执行的字节码指令,分支、跳转、循环等基础功能都要依赖它来实现。每条线程都有一个独立的的程序计数器,各线程间的计数
2017-05-14 12:11:00
288
原创 JAVA虚拟机基本概念
Java虚拟机:简称JVM,想象中的机器,软件模拟实现。有想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。可以把JVM当作柴油机,JAVA是柴油。JVM4个寄存器: pc程序计数器,用于记录程序的执行。 optop操作数栈顶指针 ,记录指向Java栈区的指针。 frame当前执行环境指针, 记录指向Java栈区的指针。 vars指向当前执行环境中第一个局部变量的指针,记录指向J
2017-05-14 11:10:18
663
原创 Hibernate二级缓存
一 什么样的数据更适合存放到第二级缓存中 很少被修改的数据 不是很重要的数据,允许出现偶尔并发的数据 不会被并发访问的数据 参考数据 —常量数据 不适合存放到第二级缓存的数据 经常被修改的数据 财务数据,绝对不允许出现并发 与其他应用共享的数据 二配置 把ehcache-x.x.jar添加到当前应用的classpath下 在hibernate配置文件中加入EHCache缓存插
2017-05-13 16:07:53
209
原创 hibernate事务处理
一事务ACID属性: 原子性(Atomic) 一致性(Consistency) 隔离性(Isolation) 持久性(Durability)二 Hibernate声明JDBC事务<session-factory> <property name="transaction.factory_class"> org.hibernate.transaction.JDBCTra
2017-05-13 15:50:55
244
原创 三.设计模式-代理模式
代理模式(proxy):为其他对象提供一种代理控制对这个对象的访问Subject接口:定义了RealSubject和Proxy共用接口,使得任何使用RealSubject的地方都可以使用ProxyRealSubject类:定义了Proxy代表的真实实体Proxy类:保存一个对RealSubject的引用,使得代理可以访问实体,代理可以代替实体。一般: 1.远程代理,即为一个对象在不同地址空间提供局
2017-05-11 15:36:07
175
原创 Oauth javaweb第三方登录实现
步骤: 1用户在服务商授权页完成授权,获得CODE 2第三方应用取得code后访问服务器应用,获得access token 3第三方应用以access token为凭证到服务商处获取资源。
2017-05-09 17:00:14
1750
原创 二.设计模式-工厂模式
一. 传统时以pizza类举例,一个抽象类pizza,由几个pizza实现类实现,主餐厅看看客户点什么便生产,但是如果需要增加新的pizza品种,则要增加一个新的实现类,然后主餐厅里增加对逻辑的判断,显然,违背了开放关闭原则。 所以:工厂模式为解决某些需要生产大量一批类的问题 二.简单工厂模式: 定义了一个创建对象的类,由这个类来封装实例化对象的行为public class S...
2017-05-06 09:44:03
220
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人