- 博客(10)
- 资源 (4)
- 收藏
- 关注
原创 Java AIO编程入门
服务器端:public class Server { //线程池 private ExecutorService executorService; //线程组 private AsynchronousChannelGroup threadGroup; //服务器通道 public AsynchronousServerSocketChannel assc
2017-06-17 20:37:51 1115
原创 Java NIO网络编程
javaNIO和传统BIO的区别:Java NIO和IO之间第一个最大的区别是,IO是面向流的,NIO是面向缓冲区的。 Java IO面向流意味着每次从流中读一个或多个字节,直至读取所有字节,它们没有被缓存在任何地方。此外,它不能前后移动流中的数据。如果需要前后移动从流中读取的数据,需要先将它缓存到一个缓冲区。 Java NIO的缓冲导向方法略有不同。数据读取到一个它稍后处理的缓冲区,需要时可在缓
2017-06-15 14:06:29 425
原创 Java SocketIO网络编程
服务器端import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class Server { final static int PROT = 8700; public static void main(String[] args) {
2017-06-14 17:23:22 2304
转载 Java多线程之Executor框架
Executors创建线程池的方法:public static ExecutorService newFixedThreadPool(int nThreads) 创建固定数目线程的线程池。public static ExecutorService newCachedThreadPool() 创建一个可缓存的线程池,调用execute 将重用以前构造的线程(如果线程可用)。如果现有线程没有可用
2017-06-12 17:04:32 224
原创 Java多线程之同步类容器与并发容器
同步容器类同步容器类包括Vector和HashTable,而且是早期JDK的一部分,这些同步的封装器类是由Collections.synchronizedxxx等工厂方法创建的。例如 Map<String,String> map =Collections.synchronizedMap(new HashMap<String,String >());HashMap本来不是线程安全的,但是上面的map
2017-06-09 14:03:32 1234
转载 Java实现一个HashMap
package Map;import java.util.ArrayList;import java.util.List;public class HashMap<K,V> implements Map<K,V>{ private static float DEFAULT_LOAD_FACTOR=0.75f; //负载因子 private static int defaultLengt
2017-06-08 19:48:09 488
原创 Java多线程之模拟一个阻塞队列
import java.util.LinkedList;import java.util.concurrent.atomic.AtomicInteger;public class MyQueue { private final LinkedList<Object> list = new LinkedList<>(); //需要一个计数器,统计加入List集合元素的个数
2017-06-08 17:52:29 940
原创 Java多线程之深入理解synchronize关键字
synchronize锁重入:关键字synchronize拥有锁重入的功能,也就是在使用synchronize时,当一个线程的得到了一个对象的锁后,再次请求此对象是可以再次得到该对象的锁。 当一个线程请求一个由其他线程持有的锁时,发出请求的线程就会被阻塞,然而,由于内置锁是可重入的,因此如果某个线程试图获得一个已经由她自己持有的锁,那么这个请求就会成功,“重入” 意味着获取锁的 操作的粒度是“线程
2017-06-07 16:14:42 11344
转载 如何应对并发-关于数据索引
从整体架构来说分很多部分,比如常见的,存储层的i/o优化,网络层负载均衡,通讯层的连接池等等,不过我这里不讲这些。不讲这些的原因第一呢,是这些我基本都不太会;第二呢,是在实践过程中发现,特别是创业公司,中小企业,一般最容易出问题,也是最难处理的,往往是数据库方面的问题。 非技术人员往往会认为,负载高了,请求多了,加服务器加硬件不就完了? 如果是只是应用程序处理,常见的负载均衡方案很成熟,加加硬件
2017-06-06 16:07:58 1071
原创 Java多线程基础之对象锁的同步与异步
同步:synchronized 同步的概念就是共享,如果不是共享的资源,就没有必要进行同步。 异步:asynchronized 异步的概念就是独立,相互之间不受到任何制约。同步的目的就是为了线程安全,对于线程安全来说,需要满足两个特性:(原子性)同步可见性
2017-06-06 15:42:29 1355
gradle-5.1.1-all.zip
2020-09-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人