`
liuyh17211
  • 浏览: 10819 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
Java虚拟机支持多条线程同时执行。多线程在Java中通过Thread类表现。对用户来说创建线程的唯一方式就是构造一个Thread类的对象;每个Java线程都和此类有关。通过调用Thread对象的start()方法来启动线程。 当线程没有正确同步的时候,多线程的行为将是不可预测的。本规范将介绍Java程序中多线程的语义,包括多个线程更新共享内存时哪些读共享内存的值的可见性规则。本规范与内存模型都适用不同的硬件架构,本规范的语义被称为Java内存模型。 本规范的语义没有介绍多线程程序应该怎样执行。而是只介绍了多线程程序允许的行为。任何执行策略只能产生允许的行为才是可接受的执行策略。
        前几天写代码的时候用到将Set转换为List然后继续进行操作,向里面添加元素的时候报错了,代码逻辑类似下面: import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Set; public class Test { public static void main(String[] args) { Set<String> set = new HashSet<String>(); set.a ...
        最近两天和群里的朋友讨论计算小于等于N的素数的个数。最直接的算法就是对于每一个数i,计算i除以从2到i的平方根,任意一个能除尽都说明i不是素数。但这种算法效率很低,还有很大的改进空间,也有不同方式改进。         liuyh17211的思路是改进算法,根据算术基本定理,任何合数都可以表示为两个或多个素数的乘积,所以判断i是否是素数的只需要计算i除以从2到i的平方根之间的素数即可,另外java计算平方根的算法效率也不高,用这种思路改造之后的算法效率大幅提高,N为10000000时花费时间大约为朴素算法的1/7左右,而且这种方法对单核或多核的机器都有效。但这种算法只使用了 ...
文章转载自:这里,版权归博主youngto所有   对于下面的代码,许多有经验的程序员都没能给出正确的答案。如果你能只看代码给出的答案和文章末尾出给出大答案一致,那么你已经掌握了Java对象的建构顺序,中间的分析可以不用看了。 /** * 父类Foo,实现控制台输出 * * @author youngto * @since 2013-01-25 */ class Foo { private int index = 100; //静态代码块 static { Sy ...

2012年总结

        2012年结束了,这一年几乎是我这么多年来最轻松的一年,很少的任务与事故,几乎没有加班。说心里话,我不喜欢这种轻松,这种轻松给人不安全感。公司所处的行业处于冰冻期,公司在此期间没有裁员,各部门间却忙 ...
    struts2远程执行漏洞,是个有相当久远历史的风险,其危害程度相当之大。网站的其他频道在去年4月份之后web层全部改为了spring mvc,只有我负责的这个频道,由于事情繁多,一直没改。在漏洞爆出之初,由于要构造的攻击条件比较复杂,所以问题并不严重。在今年7月份前后,互联网上爆出了攻击工具,针对这个漏洞的攻击一下子没有了门槛。     9月份的时候运维工程师跟我说频道服务器上新建了很多新用户,问我是不是我建的。当时也没有引起我的注意,以为是服务器漏洞,删除了这些用户、升级了服务器防火墙之后就忘了这件事。十一期间,频道果断被黑,运维工程师采取的措施是升级应用服务器、将应用服务器的运行 ...

2012计划

2012年已经开始一个月了,现在才做计划,希望不算晚吧!更重要的是能够落实,呵呵!! 根据老大的安排,2012年应该做的主要是两件事:1、是网站的深度完善;2、是基于C/S体系的客户端软件。基于此,今年的学习目标有三大块:一、java并发编程;二、算法与机器学习;三、计算机系统(深入理解计算机系统)。结合下面四本书《JAVA并发编程实践》、《机器学习》、《算法导论》《深入理解计算机系统》。 如果先开发网站深度优化,优先学习前三本书,学习目标是一二,如果开发客户端软件,优先学习书4,目标是三,目前已开始学习C++,当开发软件时将使用,并将结合Linux并深入学习了解。

2011总结

2011年,我从5年左右企业开发全面转入互联网开发,这一年让我大开眼界,甚至可以说是我这么多年以来进步最大的一年。从知识面上来说,以前思考问题的切入点只有代码,代码之外的问题就不知道怎么下手了,这一年对操作系统、web服务器、HTTP协议、JVM、脚本语言等都有所了解,解决问题的时候思路也开阔了。 1、JVM:今年算是对Jvm的了解开了个头,虽然限于知识面和深度,学习的深度有限,但还算是一个全面的了解吧,待自己深度加深后再复习一下; 2、linux与脚本语言、正则表达式:这几项合并起来说吧,对Linux曾经在5,6月份的时候学过一段时间,由于工作环境不是Linux,很多知识没有实践支持 ...
正则表达式元字符含义,下列的这些仅用于复习或了解,正则表达式需要多练习才能精熟,:-) .   :就是点“.”,用于匹配任意一个单个的字符; \   :"\",用于对紧接于后它的字符进行转义; [和]:表示一个字符集合,两个字符间的字符都是集合组成部分; -   :字符区间连字符,用于简化字符区间定义; |   :表示前后两个元素的并集; ^   :用在字符集内[^pattern],用于对集合[pattern]取非; +   :匹配一个或多个前面出现的字符或字符集; *   :匹配零个或多个前面出现的字符或字符集; {和}:用于控制上面两个元字符重复性匹配的重复次数; ?   ...
工作几年以来,尤其是转入互联网方向后,感觉需要学习的技术方向越来越多,自己薄弱的技术也越来越多,列一个学习列表,已完成的转入已完成列表。 待学习的: 1、一门脚本语言python,shell(都包含正则表达式); 2、深入理解一种web服务器,选择nginx; 3、深入学习java虚拟机; 4、数据结构与算法(尤其是智能web相关的算法); 5、重新学习大学的高等数学(概率,矩阵,微积分); 6、学习C和C++; 7、深入学习Linux; 已完成的:(所谓完成是指投入了一段时间专门研究学习,有一定了解,应用时还需要加深) 1、对nginx的配置有了一些了解,但没有看过其源码,对其内部工作 ...
Global site tag (gtag.js) - Google Analytics