自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

1.检查jdk是否已经安装 需要 1.8 2.环境变量中增加名为GRADLE_HOME的变量名,值为Gralde的解压路径,例如D:\Gradle 3.在path的后追加%GRADLE_HOME%\bin; 4.验证 gradle -v 5.修改默认缓存目录 修改Gradle默认缓存目录可使用命令gradle -g 目录路径,例如gradle -g D:\Gradle\.gradle

2020-09-27

基于机器视觉的太阳能电池片表面缺陷检测的研究

基于机器视觉的太阳能电池片表面缺陷检测的研究!

2018-09-06

netty自定义数据包协议

netty自定义数据包协议示例 ,自定义解码器译码器 解决拆包粘包问题

2017-11-02

http协议的PDF文档

HTTP协议

2016-10-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除