- 博客(8)
- 资源 (3)
- 收藏
- 关注
原创 18 8 15 人生感悟
近日,聚好友,忆往昔,酒罢饭毕,捶胸顿足,深感己当今之造化有辱前日之功,痛之切,苦之深。思及往日满腔热血,惟愿献身与真理之探索,怎料今日至此?当日岂敢大放厥词?枉自豪言壮语?然酒入愁肠,初心既归。幸廉颇未老,仍可拔箭射月,献身与江湖。遂写文明志。自今日起,定当念心中所系,思心之所向,遨游于技术之海,探索于九天之外。...
2018-08-15 09:23:32 130
原创 模拟多个线程访问共享资源:帮你跳过神坑
通常情况下,当需要模拟多线程的时候我们会选择两种方式。第一种就是自己实现Runnable类,然后在主类中调用我们自己实现的Runnable,例如:package concurrent;public class MyRunnable implements Runnable{ @Override public void run() { // TODO Auto-generated ...
2018-09-28 15:20:41 829
原创 多线程Runnable匿名内部类一定要注意大坑
通常情况下,当需要模拟多线程的时候我们会选择两种方式。第一种就是自己实现Runnable类,然后在主类中调用我们自己实现的Runnable,例如:package concurrent;public class MyRunnable implements Runnable{ @Override public void run() { // TODO Auto-generated ...
2018-09-28 15:14:44 9905 3
原创 java并发机制的底层实现原理(一):volatile深入分析
java代码最终会被类加载器加载到JVM中,然后转化为汇编指令在CPU上执行。java中所使用的并发机制依赖于JVM的实现和CPU的指令。1.volatile的应用volatile是一个轻量级的synchronize,它保证了共享变量的可见性,确保了所有线程看到这个变量的值是一致的——变量一经修改所有的线程都可知道,都可以获得共享变量的最新值。但是volatile并不能保证原子性...
2018-09-16 18:56:46 262
原创 java并发编程的艺术(一):并发编程的挑战
并发编程的挑战主要是在三个方面上下文切换 死锁 资源限制下面就这三个方面进行分别分析遇到的挑战以及如何应对。1)上下文切换 1.1 什么是上下文切换?多线程一定快么? 想了解上下文切换,我们先来了解几个概念。我们都知道在一块CPU上进行多线程,实际上是CPU通过时间分配算法给每个线程分配了不同的时间片,时间片就是CPU分配给每个线程的执行时间,由于时间片的单...
2018-09-16 14:43:40 344
原创 大厂校招内容总结
大厂校招要求主要在两个方面1.对于基础学科领域的要求对于数据库,算法与数据结构,操作系统原理,计算机体系结构,计算机网络,离散数学,操作系统原理等有着扎实的基础和认识。2.要求深入掌握一门流行编程语言、技术、工具以java为例,就需要深入学习集合源码,多线程,java虚拟机等高阶知识。3.对于编程能力的考察主要是是否参与过有深度的项目;对基础算法考察;考察解决实际问题的能力...
2018-08-15 11:32:19 1458
原创 java继承与组合与代理
所有的程序语言,都要想办法解决代码复用性的问题,在java中,可以通过继承或者组合或者代理来复用代码。这里解释一下继承和组合的区别,以及他们分别适应于什么场景,以及使用时候应该注意什么。 子类通过继承,可以直接拥有父类的所有方法(接口)和属性(域);组合,通过将其他类作为自己的成员变量,也拥有了这个类的所有方法(接口)和属性(域)。他们都可以复用代码。如下代码所示:继承c
2017-09-25 18:38:01 365
原创 java中的参数传递(值传递等)
java中参数的传递规则,经常会让初学者一头雾水,这里分析一下java中的两种基本传递方式。不想看过程的,可以直接看文章末尾结论。(在看参数传递规则之前,一定要保证自己已经充分理解了形参和实参的概念,否则在下边的学习,可能会更加懵圈。)1.基本数据类型的传递规则。首先看一段代码:public class CompareTwo { public static void
2017-09-24 09:59:17 317 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人