腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
在周末的专栏
专栏成员
举报
28
文章
23259
阅读量
16
订阅数
订阅专栏
申请加入专栏
全部文章(28)
java(12)
编程算法(10)
node.js(7)
javascript(5)
http(4)
ide(3)
jvm(3)
hashmap(3)
打包(2)
linux(2)
unix(2)
文件存储(2)
缓存(2)
rpc(2)
socket编程(2)
scala(1)
html(1)
数据库(1)
sql(1)
压力测试(1)
jdk(1)
安全(1)
数据分析(1)
数据处理(1)
reset(1)
volatile(1)
worker(1)
搜索文章
搜索
搜索
关闭
《Java性能权威指南》笔记----Java性能调优工具
jvm
运行队列(r):所有正在运行和就绪状态(一旦有可用cpu就可以运行)的线程数。该数据最好小于或等于CPU个数,否则性能就可能会下降。如果长时间运队列过长,则可能是系统过载。
在周末
2019-09-11
607
0
《Java性能权威指南》笔记----JIT编译器
打包
ide
jvm
缓存
java
编译型语言(C++,Fortran等):运行程序前,需要用编译器将代码静态编译成CPU可执行的汇编码。汇编码针对特定的CPU。
在周末
2019-09-11
1.2K
0
Java数据结构-------List
编程算法
压力测试
javascript
java
ArrayList和Vector通过数组实现,几乎使用了相同的算法;区别是ArrayList不是线程安全的,Vector绝大多数方法做了线程同步。
在周末
2019-09-11
393
0
Java数据结构-------Map
java
node.js
hashmap
编程算法
1)无序; 2)访问速度快; 3)key不允许重复(只允许存在一个null Key);
在周末
2019-09-11
1.4K
0
Java数据结构-------Set
hashmap
java
html
HashSet对应 HashMap、LInkedHashSet对应LinkedHashMap、TreeSet对应TreeMap
在周末
2019-09-11
521
0
Java语法糖(一)
java
语法糖(Syntactic Sugar):主要作用是提高编码效率,减少编码出错的机会。
在周末
2019-09-11
557
0
Java语法糖(二)
http
打包
ide
java
编程算法
内部类:顾名思义,在类的内部在定义一个类。内部类仅仅是编译时的概念,编译成字节码后,内部类会生成单独的Class文件。
在周末
2019-09-11
401
0
synchronized的实现原理
编程算法
java
1)普通同步方法,锁是当前实例; 2)静态同步方法,锁是当前类的Class实例,Class数据存在永久代中,是该类的一个全局锁; 3)对于同步代码块,锁是synchronized括号里配置的对象。
在周末
2019-09-11
381
0
Java并发容器--ConcurrentHashMap
java
hashmap
http
编程算法
1、不安全:大家都知道HashMap不是线程安全的,在多线程环境下,对HashMap进行put操作会导致死循环。是因为多线程会导致Entry链表形成环形数据结构,这样Entry的next节点将永远不为空,就会产生死循环获取Entry。具体内容见HashMap随笔。
在周末
2019-09-11
445
0
Java并发容器--ConcurrentLinkedQueue
node.js
编程算法
java
ConcurrentLinkedQueue是一种基于链表实现的无界非阻塞线程安全队列,遵循先入先出规则。
在周末
2019-09-11
802
0
Java内存模型
ide
编程算法
java
重排序是指编译器或处理器为了提高程序性能而对指令序列进行重新排序的一种手段。重排序可以导致操作延时或程序看似乱序执行,给程序运行的结果带来一定的不确定性。
在周末
2019-09-11
640
0
Java并发编程--AQS
node.js
编程算法
抽象队列同步器(AbstractQueuedSynchronizer,简称AQS)是用来构建锁或者其他同步组件的基础框架,它使用一个整型的volatile变量(命名为state)来维护同步状态,通过内置的FIFO队列来完成资源获取线程的排队工作。
在周末
2019-09-11
305
0
Java并发编程--Lock
jvm
javascript
node.js
Lock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定操作。synchronized方法或代码块的使用提供了对与每个对象相关的隐式监视器锁的访问,但却强制所有锁获取和释放均要出现在一个块结构中:当获取了多个锁时,它们必须以相反的顺序释放,且必须在与所有锁被获取时相同的词法范围内释放所有锁。Lock 实现提供了使用 synchronized 方法和语句所没有的其他功能,包括提供了一个非块结构的获取锁尝试 (tryLock())、一个获取可中断锁的尝试 (lockInterruptibly()) 和一个获取超时失效锁的尝试 (tryLock(long, TimeUnit))。
在周末
2019-09-11
447
0
Java并发编程--ReentrantReadWriteLock
数据分析
ReentrantReadWriteLock是Lock的另一种实现方式,我们已经知道了ReentrantLock是一个排他锁,同一时间只允许一个线程访问,而ReentrantReadWriteLock允许多个读线程同时访问,但不允许写线程和读线程、写线程和写线程同时访问。相对于排他锁,提高了并发性。在实际应用中,大部分情况下对共享数据(如缓存)的访问都是读操作远多于写操作,这时ReentrantReadWriteLock能够提供比排他锁更好的并发性和吞吐量。
在周末
2019-09-11
365
0
Java并发编程--BlockingQueue
编程算法
BlockingQueue支持两个附加操作的Queue:1)当Queue为空时,获取元素线程被阻塞直到Queue变为非空;2)当Queue满时,添加元素线程被阻塞直到Queue不满。BlockingQueue不允许元素为null,如果入队一个null元素,会抛NullPointerException。常用于生产者消费者模式。
在周末
2019-09-11
536
0
Java并发编程--CountDownLatch
javascript
node.js
CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。
在周末
2019-09-11
575
0
Java并发编程--CyclicBarrier
java
jdk
reset
volatile
worker
CyclicBarrier是一个同步工具类,它允许一组线程互相等待,直到到达某个公共屏障点。与CountDownLatch不同的是该barrier在释放等待线程后可以重用,所以称它为循环(Cyclic)的屏障(Barrier)。
在周末
2019-09-11
521
0
Java并发编程--Semaphore
unix
信号量(Semaphore)控制同时访问资源的线程数量,支持公平和非公平两种方式获取许可。
在周末
2019-09-11
344
0
RPC-Thrift(一)
rpc
编程算法
注意点:1)Thrift客户端和服务端使用的I/O模型必须一致,上例中都是使用阻塞式同步I/O模型。
在周末
2019-08-26
3.8K
0
Java并发编程--Exchanger
http
java
node.js
javascript
用于线程间数据的交换。它提供一个同步点,在这个同步点,两个线程可以交换彼此的数据。这两个线程通过exchange方法交换数据,如果第一个线程先执行exchange()方法,它会一直等待第二个线程也执行exchange方法,当两个线程都到达同步点时,这两个线程就可以交换数据,将本线程生产出来的数据传递给对方。
在周末
2019-08-26
414
0
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
立即查看
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档