摘要: 一、概念 定时计划任务功能在Java中主要使用的就是Timer对象,它在内部使用多线程的方式进行处理,所以它和多线程技术还是有非常大的关联的。在JDK中Timer类主要负责计划任务的功能,也就是在指定的时间开始执行某一个任务,但封装任务的类却是TimerTask类。 通过继承 TimerTask 类阅读全文
posted @ 2017-09-14 14:50 JMCui 阅读(148) 评论(0) 编辑
摘要: 一、前言 本文要介绍使用Java5中 Lock 对象,同样也能实现同步的效果,而且在使用上更加方便、灵活,主要包括 ReentrantLock 类的使用和ReentrantReadWriteLock 类的使用。 二、使用ReentrantLock 类 1、在java多线程中,可以使用synchron阅读全文
posted @ 2017-09-13 16:07 JMCui 阅读(88) 评论(0) 编辑
摘要: 一、概要 线程是操作系统中独立的个体,但这些个体如果不经过特殊的处理就不能成为一个整体,线程间的通信就是成为整体的必用方案之一。可以说,使线程进行通信后,系统之间的交互性会更强大,在大大提高cpu利用率的同时还会使程序员对各线程任务在处理过程中进行有效的把控和监督。 二、等待/通知机制 1、"wai阅读全文
posted @ 2017-09-12 16:49 JMCui 阅读(506) 评论(0) 编辑
摘要: 一、任务 创建20个线程,其中10个线程是将数据备份到 A 数据库中,另外10 个线程将数据备份到 B 数据库中,并且备份 A 数据库和 备份 B 数据库的是交叉运行的。 二、实现 1、实现备份 A 数据库和备份 B 数据库的 task。 2、分别创建线程执行 备份任务 3、执行任务查看结果 三、结阅读全文
posted @ 2017-09-12 11:48 JMCui 阅读(64) 评论(0) 编辑
摘要: 一、概念 非线程安全:会在多个线程对同一个对象中的实例变量进行并发访问时发生,产生的后果就是"脏读",也就是取到的数据其实是被更改过的. 线程安全:获得的实例变量的值是经过同步处理的,不会出现脏读的现象。 二、synchronized 同步方法 1、非线程安全的问题存在于实例变量中,如果变量是方法内阅读全文
posted @ 2017-09-09 15:10 JMCui 阅读(321) 评论(2) 编辑
摘要: 一、前言 本来想在另外一篇文章说的,发现可能篇幅有点大,所以还是另开一篇博文来说好了。知识参考《Java多线程编程核心技术》,评价下这本书吧——大量的代码,简单的说明,真像在看博客。不过这本书浅显易懂,篇幅也不长,一口气看个几十页,再照着demo敲敲代码,简直不要太爽。。哈哈 二、概念 对象锁:顾名阅读全文
posted @ 2017-09-08 11:54 JMCui 阅读(93) 评论(0) 编辑
摘要: 一、进程和线程的概念 进程:一次程序的执行称为一个进程,每个 进程有独立的代码和数据空间,进程间切换的开销比较大,一个进程包含1—n个线程。进程是资源分享的最小单位。 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小,线程是CPU调度的最小单位。 多进程阅读全文
posted @ 2017-09-07 11:24 JMCui 阅读(382) 评论(0) 编辑
摘要: 一、智者说:无聊的时候来几道算法题,可以训练训练自己的思维嘛!难怪之前人家说数学好的人编程起来事半功倍,写算法的过程中真是深有体会啊!感觉就像是在做大学的高数题......本博文仅用来记录自己学习算法的历程,不定时更新。参考自《编程之美》,加上些自己的理解。有啥不对的地方,还请大家不吝指教! 二、求阅读全文
posted @ 2017-09-05 18:22 JMCui 阅读(67) 评论(0) 编辑
摘要: 好久没有这么正经的写过文字了,想曾经中学的时候也是写作的一把好手啊,天天作文被当成范文念,大学就荒废了。唉、出社会才好后悔大学好像什么事都没做好,学也没有学的多好,玩也没有玩的多好。那时候大把的时间不好好看书,现在总是挤牙膏似的挤点时间去看书...... 博主是今年的应届毕业生,实习和第一份工作在一阅读全文
posted @ 2017-09-04 17:39 JMCui 阅读(110) 评论(1) 编辑
摘要: 一、wget 文件下载 使用wget下载单个文件:wget URL 下载并以不同的文件名保存:wget -O wordpress.zip URL wget限速下载:wget --limit-rate=300k URL 使用wget断点续传:wget -c URL 使用wget后台下载:wget -b阅读全文
posted @ 2017-08-30 12:51 JMCui 阅读(554) 评论(5) 编辑
摘要: 一、建表规约 1、表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint(1 表示是, 0 表示否) 。 2、表名、字段名必须使用小写字母或数字, 禁止出现数字开头,禁止两个下划线中间只出现数字。数据库字段名的修改代价很大,因为无法进行预发布,所以字段阅读全文
posted @ 2017-08-29 10:09 JMCui 阅读(70) 评论(0) 编辑
摘要: 一、前言 本文参考《阿里巴巴Java开发手册》,这本书主要定义了一些代码的规范以及一些注意事项。我只根据我自己的不足,摘录了一些内容,方便以后查阅。 二、读书笔记 命名 命名 1、代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。 2、常量命名全部大写,单词间用下划线隔开,力求阅读全文
posted @ 2017-08-29 09:30 JMCui 阅读(209) 评论(0) 编辑
摘要: 一、引入 看这个结果,问题就来了,map中明明存在Groudhog{number=3},为什么结果显示的是Key not find呢??问题出在哪里呢?原来是Groudhog类没有重写hashCode()方法,所以这里是使用Object的hashCode()方法生成散列码,而他默认是使用对象的地址计阅读全文
posted @ 2017-08-23 19:26 JMCui 阅读(218) 评论(1) 编辑
摘要: 一、概念: RTTI(Run-Time Type Identification,运行时类型识别)的含义就是在运行时识别一个对象的类型,其对应的类是Class对象,怎么理解这个Class对象呢?如果说类是所有对象方法、属性的集合,那就可以把这个Class对象理解成是所有class的集合,然后利用这个C阅读全文
posted @ 2017-08-22 10:59 JMCui 阅读(327) 评论(0) 编辑
摘要: 一、Oracle VirtualBox安装Linux7.0全屏设置 1. 点击菜单栏 设备 –> 分配光驱 –> 选择一个虚拟光盘,找到VirtualBox安装目录下的VBoxGuestAdditions.iso,加载此镜像。2. 启动Linux系统并用root身份登入系统3. 执行挂载命令,将虚拟阅读全文
posted @ 2017-08-21 11:11 JMCui 阅读(92) 评论(0) 编辑