2018第21周回顾

Java线程及线程池状态总结了多线程的基础,线程的状态及转换,线程从新建、阻塞、等待、条件等待等状态在条件满足时会进入可运行状态,等待操作系统选中分配CPU资源后线程得到执行,由于每次执行获得的CPU时间片很短,几乎感觉不到,所以JAVA线程状态定义中没有执行中的状态。VisualVm中运行(running)状态实际对应线程的可运行状态。

Map容器安全记录了两个Map使用要注意的两个问题,HashMap线程不安全下使用可能会导致结果不正确也可能会导致死循环,ConcurrentHashMap的线程安全是指同时调用put或get方法是线程安全的,但如果代码段中连续用get、put方法又不能保证这段代码操作的原子性,也会产生线程安全问题。

后面几篇是关于私活、业余项目、开源项目、程序员跳槽职业规划完整的摘录和思考,是每个迷茫的程序员都应该经常考虑的,在做好本质工作的同时,如何让自己更好的发展。

对大部分对自己工作不满意、有空闲时间的程序员,都应该通过做自己的业余项目、参与开源项目、接私活等方式让自己获取更快更好的发展。

原文地址:https://www.cnblogs.com/doit8791/p/9095518.html

时间: 2024-10-28 05:58:57

2018第21周回顾的相关文章

2018第22周回顾

原子属性更新器AtomicReferenceFieldUpdater的使用,AtomicReferenceFieldUpdater是Java原子属性更新器,它能让普通对象的get.set操作变为原子操作,从而避免多线程环境下同步操作,提高程序运行效率.原子属性更新器常用的方法是compareAndSet比较并设置属性值,getAndSet返回当前属性值并设置新值. 自旋锁.排队自旋锁.MCS锁.CLH锁讲了自旋锁的几种实现,最简单的用AtomicReference<Thread>对象实现一个自

三级菜单-2018.2.21

根据老男孩课程以及网上的代码,自行打出的代码,虽然参照的比较多,嘿嘿嘿 #_author_:"Bushii" #data:2018/2/21 menu= { '山东' : { '青岛' : ['四方','黄岛','崂山','李沧','城阳'], '济南' : ['历城','槐荫','高新','长青','章丘'], '烟台' : ['龙口','莱山','牟平','蓬莱','招远'] }, '江苏' : { '苏州' : ['沧浪','相城','平江','吴中','昆山'], '南京' :

2018/7/21 Python 爬虫学习

2018/7/21,这几天整理出来的一些Python 爬虫学习代码. import urllib2 response = urllib2.urlopen("http://baidu.com") html = response.read() print html 进一步,可以request import urllib2 req = urllib2.Request("http://www.baidu.com") response = urllib2.urlopen(re

2018/8/21 qbxt测试

2018/8/21 qbxt测试 期望得分:0? 实际得分:0 思路:manacher   会写模板但是不会用 qwq 听了某人的鬼话,直接输出0,然后就gg了 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; const int N = (int)2e6 + 10; typedef long long ll;

Microsoft Artificial Intelligence Conference(2018.05.21)

时间:2018.05.21地点:北京嘉丽大酒店 原文地址:https://www.cnblogs.com/xuefeng1982/p/10335943.html

2018.4.21 五周第四次课(shell特殊符号,cut截取等命令)

shell特殊符号_cut命令 概念:cut命令用来截取某一个字段 格式:cut -d '分割字符' [-cf] n,这里的n是数字,该命令选项有如下几个: - d 后面跟分割字符,分割字符要用单引号括起来 - c 后面接的是第几个字符 - f 后面接的是第几个区块 cut命令用法如下 [[email protected] do]# cat /etc/passwd |head -2root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/no

2018第25周总结

Java类加载器回顾,重点是Java类加载机制不能实现现实的需求时如何处理,重点是两种情况没法处理,SPI(服务提供接口),接口在调用方,可能被根加载器加载,实现方通过独立的Jar包实现被系统加载器,那么接口调用方在要加载实现方的类时如何处理?线程上下文加载器就是为了解决这个问题.另外就是Tomcat类加载机制的设计也没有严格遵守Java双亲委派机制,因为要实现应用类目录下的jar包优先级公用目录下的jar包,所以加载类时优先子类加载器尝试在应用目录下加载,找不到时再有父类加载器尝试在公用目录下

IT 2018年:ManageEngine回顾总结

2018年已经结束,你可能已经回顾过今年对你的影响了.在IT界,2018年开始使用处理器漏洞Meltdown和Spectre.从那时起,这一年充斥着数据泄露和勒索软件所带来的负面影响.但今年情况并非都是负面的: GDPR生效,,并发布了大量新技术,这是数据隐私方面向前迈出的一大步.?我们ManageEngine也度过了一个繁忙的一年,所以我们决定重新审视2018年的一些主要趋势和事件以及我们如何应对.发现2018年的趋势 随着世界目睹一些关键的全球IT转变,2018年是一个受影响最大的一年.我们

2017第35周回顾

这周在经过前面两天忙碌后,后面集中精力复习了一些IO方面的概念, 在实践.知识整体结构梳理方面要加强. Java8新特性之Optional 周一,记录了Java8引入的Optional,跟guava里的Optional一样,对java里判null空操作抽象出一个类,使用它可以让代码更简洁易懂: Optional<String> userName = Optional.ofNullable(user).map(User::getName); return userName.orElse(null