- 博客(23)
- 资源 (7)
- 问答 (1)
- 收藏
- 关注
原创 Java线程之interrupt终止线程,Thread中的主要方法(五)
如何停止线程stop方法有其固有的不安全性,一般不使用。 而是使用的Thread类中提供的interrupt方法 public void interrupt()中断线程。 如果当前线程没有中断它自己(这在任何情况下都是允许的),则该线程的 checkAccess 方法就会被调用,这可能抛出 SecurityException。 如果线程在调用 Object 类的 wait(
2016-04-26 19:58:40 489
原创 Java线程之1.5版新特性多生产者多消费者(四)
在Java1.5以前的版本中,因为监视器是来自于Object,为了线程的互斥访问,用的synchronized方法或者模块在synchronized中,“锁”的操作是隐式的,而且每一个锁里只能有一组wait-notify或是wait-notifyAll方法,这样的弊端在于 等待和唤醒的缓冲线程里不仅包括了生产者也包括了消费者,这样就不能指定唤醒进程,要么唤醒了全部进程,影响了效率,要么休眠了所有
2016-04-26 19:40:06 337
原创 Java线程之1.4版多生产多消费者示例(三)
多生产者,多消费者从单生产者单消费者示例进化而来注意两个变化的地方:为判断标记任务循环体的if—->while为避免死锁唤醒notify–>notifyAll分析下(if+notifty)的安全隐患tp0先开锁获取CPU执行权 生产:1 然后flag=true, 唤醒进程缓冲池(),退出然后如果tp0,tp1再获得CPU执行资格,但是判断flag=true,进入缓冲池(tp0,tp1)
2016-04-26 17:00:33 326
原创 Java线程之单生产者单消费者示例(二)
在Java1.5以前的版本中,因为监视器是来自于Object,为了线程的互斥访问,用的synchronized方法或者模块在synchronized中,“锁”的操作是隐式的,而且每一个锁里只能有一组wait-notify或是wait-notifyAll方法,这样的弊端在于等待和唤醒的缓冲线程里不仅包括了生产者也包括了消费者,这样就不能指定唤醒进程,要么唤醒了全部进程,影响了效率,要么休眠了所有进程,
2016-04-26 16:47:06 567
原创 Java线程之等待wait唤醒notify示例(一)
线程等待,线程唤醒“锁“中的主要方法 wait(): 让线程处于冻结状态,被wait的线程会被存储到线程池中。 notify():唤醒线程池中一个线程(任意),没有顺序。 notifyAll():唤醒线程池中的所有线程。 因为synchronized模块的监视器是任意对象,所以这些方法定义在Object中注意: **这些方法都必须定义在同步中。因为这些方法是用于操作线程状态
2016-04-26 16:36:43 6735
原创 简单的Java1.4版synchronized多线程的死锁演示
尽量避开死锁是开发的宗旨,因为死锁不是程序错误,是设计错误,一旦出现线程死锁,很难分析出来常见的线程死锁就是同步模块的嵌套,面试常用以下是线程死锁示例:class Test implements Runnable{ boolean flag = true; Object obj = new Object();//锁 public void run() {
2016-04-23 00:16:50 527
原创 单例模式中的线程安全问题
关于单例模式的线程安全问题: 1. 饿汉式不存在线程安全问题 2. 懒汉式有线程安全隐患解决办法:方式一:同步函数,每次线程进去都要先判断锁,效率低,但是写法简单class Single{ private static Single s = null; private Single(){}//同样私有化构造函数 public static synchronized
2016-04-22 23:41:01 746
原创 多线程弊端及解决办法
多线程的弊端共享数据错误 当多个线程共享数据,且共享区有两条以上代码时,线程切换可能发生在共享区,这时很容易引起数据错误简单的比方就是本来是一批资源被多个人使用,本来应该是一个人使用结束后再下个人使用,但是现在每个人用一会儿,而且每个人都不知道这个资源还有别人使用,自己只能记录自己使用的情况,如果有个产品使用这个资源要三道工序,第一道供需完了后实际资源被给了其他人,那自己再次使用时记录的还是资
2016-04-22 23:04:09 3641
原创 刷机简单教程,双清及错误解决细节
这里总结下卡刷的细节及常见错误通常 正常情况下步骤:下载符合机型的ROM,将其移到手机SD卡,或者内部存储(最好放在SD卡)刷入recovery.img(也要匹配机型),可以用移动叔叔工具箱刷入,这款APP支持少量在线匹配recovery如果原本系统有高级模式可以直接重启至recovery模式,没有的话可以同时按住音量+和开机键(有的机型复杂些,还要加上home键) 有时死活进不去,可以试试
2016-04-20 16:06:30 16043
原创 线程示例:多线程卖票
第一种创建线程方式class SellWindow extends Thread { private String window;//窗口号,即线程编号 private static int count = 100;//假设有100张票,必须设置成静态,否则每个线程都拥有100张票 SellWindow(String window) { super
2016-04-18 14:06:21 501
原创 Java中创建线程的两种方式
创建线程的目的是为了开启一条执行路径,去运行指定的代码和其他代码,实现并行运行。 (实际上时根据操作系统的调度算法,分时间片运行,但由于cpu处理速度很高,宏观上看成时同时运行) 而运行的指定代码就是这个执行路径的任务。jvm创建的主线程的任务都定义在了主函数中。自定义的线程的任务被封装在run()方法中, run方法中定义就是线程要运行的任务代码。Thread类用于描述线程,线程是需要任
2016-04-17 23:23:34 1813
原创 最新不安装百度云管家就可以下载网盘资源的方法及各种浏览器修改JavaScript开关方法
自从百度云越来越没节操的限制非VIP下载速度时,我就不想装百度云管家了,但是众多比较大的资源都需要在网盘中下载怎么办除了下载破解版的百度云客户端,还可以不用任何工具就可以下载大文件资源了只需要把http改为https,就OK了,百试不爽(我用的是搜狗浏览器) 然后点击下载就不会提示需要安装百度云客户端了,可以直接用第三方下载器进行下载。大概是因为http时明文传输,而https是加密传输,反正现在用
2016-04-17 10:21:19 17001
原创 Object常用方法介绍及注意事项equals(),hashCode(),getClass(),toString()
equals public boolean equals()官方API描述 : equals 方法在非空对象引用上实现相等关系 Object 类的 equals 方法实现对象上差别可能性最大的相等关系;即,对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true(x == y 具有值 true)。 实际中,根据对象 的特有内容来判断对象是
2016-04-14 23:54:12 561
原创 Java异常处理
一个简单可以体现面向对象思想及Java异常处理的代码演示 主要参与对象:使用者,手机 可能异常: 手机 - 死机,损坏(只列举两个) 使用者 - 不知所措 处理: - 重启手机(手机) - 重配手机(公司)class DeathException extends Exception //手机异常1{ DeathException(String msg) {
2016-04-12 23:58:24 375
原创 Java异常处理throws,throw关键字try,catch,finally模块
ThrowableThrowable是所有的错误和异常的超类,有两大实例Error 一般不处理,由JVM抛出Exception 可预测可处理 —–编译时异常 :只要是Exception和其子类都是,除了特殊子类RuntimeException体系都必须针对性处理 —–运行时异常 :RuntimeException和其子类,直接中断功能,停止继续运行 这是Java异常体系: 异常声明J
2016-04-12 23:49:41 860
原创 内部类和匿名内部类
内部类定义在类里面的类分析事物时,发现该事物的描述还有事物,且这个事物还在访问被描述事物的内容内部类编译生成的字节码文件名是 外部类名$内部类名内部类也可以定义在局部,但是只能访问局部中被final修饰的局部变量class Outer{ private int outerNum = 1; class Inner { int num = outerN
2016-04-07 15:06:52 334
原创 常用运行命令win10
这些是我常用的命令,用起来很便捷,直接win+R输入命令即可 regedit 注册表运行命令 cmd打开DOS窗口 SnippingTool 打开截图工具 calc.exe打开计算器 shutdown -s -t 3600 定时关机,参数有间有空格,-t 后为关机倒计时秒数 shutdown -a 如果中途想取消定时关机 cleanmgr
2016-04-06 23:55:33 11466
原创 Android Studio创建虚拟机时可用版本列表只有最新的
解决办法因为缺少镜像文件我记得用ADT时,镜像文件下载是包含在SDK列表里的,但是我用的AS1.5,包都下载全了并没有看到system image要设置下先,勾选站点2.勾选可下载,再点击下更新 3.分分钟现身,下载即可 我发现貌似只能一个一个下载,不能多项选中挺那啥的如果速度慢就用代理
2016-04-05 14:07:02 2661
原创 Java多态细节与instanceof关键字
多态无继承,无多态 多态作为OOP三大特性之一,在现实生活中,表现为一个对象可以有多种形态 OOP语言中也就是一个对象对应着不同类型,代码的直接体现在于父类或者接口的引用指向其子类的对象好处 提高了代码的扩展性,前期定义的代码可以使用后期的内容比如下面添加其他具体动物类,都可以实现eat()方法,父类引用型变量绑定通过不同的对象调用同名的不同方法弊端 前期定义的内容不能使用后期子类的特
2016-04-05 13:40:01 2612
原创 Java接口特征与细节
接口书面定义: Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。在java中不直接支持多继承,因为会出现调用的不确定性。所以java将多继承机制进行改良,在java中变成了多实现。当一个抽象类里面全部是抽象方法时,且与继承类之间实现功能体现更强于所属关系,就可以定义为接
2016-04-02 23:50:53 2114
原创 CSDN博客中嵌入背景音乐
CSDN博客中嵌入背景音乐 如果想在CSDN博客中设置背景音乐要自己插入HTML代码 在编辑博客有两种模式,HTML编辑器(默认)和markDown编辑器 切换到HTML编辑器,点击上方插入HTML代码按钮 , 背景音乐代码: 方法一: 无限循环播放 方法二: (宽高设置为0不显播放器) 方法三:
2016-04-01 15:16:17 3174 6
原创 Android Studio check update失败
Connection failed (connect timed out). Please check network connection and try again. 在Android Studio安装目录“/bin/studio.exe.vmoptions”文件中追加以下几行 64位系统修改“/bin/studio64.exe.vmoptions”这个文件-Djava.net.prefer
2016-04-01 12:12:40 1177
原创 Android Studio :Rendering Problems图形界面渲染加载失败
Rendering Problems Exception raised during rendering: com.android.ide.common.rendering.api.LayoutlibCallback.getXmlFileParser(Ljava/lang/String;)Lorg/xmlpull/v1/XmlPullParser; (Details)一开始打开是 Intel HA
2016-04-01 11:19:10 4710 4
Java中子类实例可以调用父类方法吗
2016-04-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人