`
小懒蛋
  • 浏览: 31418 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论
文章列表
此冷清的博客今日起迁移至我的git page,https://hongkaiwen.github.io/ 2017-06-20  

每日自省

每天起床问自己几个问题: 1. 我目前是怎样一种成绩? 2. 我想要达到怎样的成绩? 3. 我想要的是什么? 4. 我有没有一个计划?有没有按计划执行?执行了多久?觉得目标是否可行?   最关键的,希望自己不要处于一个迷失的状态,持续努力。
一、 死锁的产生原因 并发死锁产生的原因一般是由于加锁顺序不一致引起的,假设一个事物需要获得连续获得两个资源的锁,如果执行事物的两个线程获得这两个锁的顺序不一致,就有可能产生死锁。 下面是我画的一个简单的说明图:   在Dead lock point, 第一个线程拥有A锁,想获得B锁, 第二个线程拥有B锁,想获得A锁,两个线程相互拥有另一个线程所等待的资源。 造成这种局面的原因就是两个线程加锁的顺序不一样,一旦程序中产生死锁,唯一能做的就是杀死进程,重启应用。   二、用java代码实现死锁   运行以下代码,程序会一直运行,不退出。     package concu ...

修改linux启动级别

linux 能力比较弱,但我觉得并没有什么难的,慢慢学,慢慢积累。 虚拟机中的centos越来越慢,我也觉得没什么必要一直默认启动UI,不如命令行模式省资源,而且我都是windows里putty直接链接过去的,也用不到ui,所以准备把linux的默认启动级别修改到命令行。 于是我查到一个文章,比较老,文章中说要 ”修改/etc/inittab文件”,于是照做,出现如下提示:   ear inittab is no longer used when using systemd. # # ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON ...
JAVA_HOME 下面有一个src.zip 的目录,解压出来就是源码。       
  本人才疏学浅,但转载注明出处:  http://waitingkkk-163-com.iteye.com/admin/blogs/2233450    这个工具类是我自己写的,在日常工作中经常用到,尤其是我经常需要写一些读取文件的工具方法,比如文件对比,读入文件中的字段名生成sql脚本等。 package io; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; /** * Created by vincent on 2015/8/6. */ p ...
双等号(==)操作符常常用来和equal方法比较,对于引用类型,==操作符相当于比较内存地址,同一个类型的两个实例,用==判断结果一定是false;equal方法不同对象实现不同。 然,对于String类型做如下测试代码: String a = "ab ...
  内部类 同一个java文件不同类 同包但不继承 继承但不同包 不同包不继承 public Y Y Y Y Y protected Y Y Y Y N default Y Y Y N N private Y N N N N
上周在单位无聊,公司电脑又不能上网,想研究一些swing相关的东西,结果swing没怎么研究,到是写了一个比较坑爹的游戏。     本人才疏学浅,如有错误请不吝赐教。 另外请尊重别人的劳动成果,如需转载请注明出处: http://waitingkkk-163-com.iteye.com/blog/2232286     游戏开始之后,出现此框,鼠标点击到此框即算过关,框框是一直在乱跳的,跳的频率随着关口的靠后会加快。   设计思路: 程序加载时new一个frame,不允许frame最大化,但是鼠标滚动可以改变框框的大小(这算一后门),frame中添加一个button ...
java 类中的静态域的初始化和静态代码块的执行只在类加载的时候执行且只执行一次。 仅执行一次,所以这一定是线程安全的,由此引出的在单例设计模式中采用静态内部类中的静态域存储唯一一个实例,既保证了线程安全又保证了懒加载,此技术被称作(initialization on demand holder)。但不在本文讨论范围。 本文旨在验证静态代码块只执行一次,即线程安全。   我需要设计一个类,静态代码块需要执行较长时间,然后在测试方法中以多线程的方式触发此类的加载,然后检验结果,验证线程安全。   本人才疏学浅,如有错误请不吝赐教。 另外请尊重别人的劳动成果,如需转载请注明出处: ...
一定要关流,完了。 import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.security.InvalidKeyException; import java.security.NoS ...
设计模式,我一直把设计模式想象成兵法,精妙的兵法可以结构化的、优雅的组织代码。以一种聪明的方式去实现功能,并且具有极强的可维护性。 说设计模式应该先从软件设计的思想说起,比如开闭原则,开:对扩展开放;闭:对修改关闭。这就需要什么呢?把不变的部分抽象出来并进行封装。软件设计还有一个原则叫做面向接口编程。接口是什么,这是我第一个想谈的东西,算是我想到所有东西的起点。接口,用书里的话来说就是一个标准,定义好这个标准之后,类库和客户端程序员就可以按照这个标准来进行开发,而不必关心实现的细节。从另一个角度来说,接口也是一个基类,所有实现此接口的细节实现都可以向上转型为这个基类,并为别人所用。下面开始 ...
一年前的夏天的一个周六,忽然一个冲动跑到中关村图书大厦花了很多银子买了一本THINK IN JAVA。买回来之后就一直没怎么看过,我一直觉得这书太简单(一直没多看,只看了开头),提不起兴致,又没什么实用价值。今年换了一 ...
Global site tag (gtag.js) - Google Analytics