
Java分享
退役未退休的码农
这个作者很懒,什么都没留下…
展开
-
centos下的redis安装
1.首先需要安装gcc,把下载好的redis-3.0.0-rc2.tar.gz放到/usr/local/software下2.进行解压tar -zxvfredis-3.0.0-rc2.tar.gz -C /usr/local3.到redis-3.0.0目录下进行make编译4.进入src目录下进行make install (验证:查看src目录下是否又redis-server...原创 2020-02-15 21:20:05 · 154 阅读 · 0 评论 -
Linux(centos)下安装jdk
第一步:将jdk-7u67-linux-x64.tar.gz压缩包通过xftp拷贝到centos上。我是拷贝到/usr/local/software文件夹下第二部:解压到/usr/local文件夹下:tar -zxvf jdk-7u67-linux-x64.tar.gz /usr/local/ 解压后的文件夹名称为jdk1.7.0_67 到/usr/local将jdk1.7.0_6...原创 2020-02-15 16:39:32 · 134 阅读 · 0 评论 -
网络编程:netty最佳实践
一.实际netty的使用通常分为一下三种情况 1. 第一种:服务端客户端使用长连接通道不断开的形式进行通讯,客户端与服务端一直处于开启的模式。这是在服务器性能足够好,并且客户端数量不多的情况下。推荐这种模式。 2. 第二种:一次性批量提交数据,采用短连接方式。也就是我们会把数据保存在本地临时缓存区获取临时表里,当达到临界值时进行一次性提交,又或者...原创 2020-02-14 22:27:48 · 383 阅读 · 0 评论 -
网络编程:netty的使用HelloWorld
一 netty是网络通信的一种框架,经过许多公司的实战和使用,效率和可靠性都很不错。不说那么多直接上代码,在上代码之前个人使用的netty的jar包版本。netty-all-5.0.0.Alpha2.jar。网络上都可以下载:代码分为四个部分 Server.java , ServerHandler.java , Client.java , ClientHandler.java1.S...原创 2020-02-12 21:43:34 · 227 阅读 · 0 评论 -
并发编程(四):Java中的锁 重入锁(ReentrantLock)和 读写锁(ReentrantReadWriteLock)
1.重入锁(ReentrantLock):在需要进行同步的代码部分上加上锁定,但不要忘记最后一定要释放锁,不然会造成锁永远无法释放,其他线程永远无法进入。直接上代码:import java.util.concurrent.CopyOnWriteArrayList;import java.util.concurrent.locks.Lock;import java.util.concur...原创 2020-02-08 17:37:45 · 129 阅读 · 0 评论 -
并发编程(三):Callable和Future的使用
1.Callable和Future的使用:Future模式适合耗时的业务逻辑,可以有效的减少系统响应时间,提高系统吞吐量。直接上代码import java.util.concurrent.Callable;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import ja...原创 2020-02-08 14:36:59 · 146 阅读 · 0 评论 -
并发编程(二):CountDownLatch的使用 和 CyclicBarrier使用
1. CountDownLatch的使用:他经常用于监听某些初始化操作,等初始化线程执行完毕后,通知主线程继续工作。代码如下:import java.util.concurrent.CountDownLatch;/** * 当t2 t3执行完毕后,通知t1继续执行 */public class UseCountDownLatch { public static void m...原创 2020-02-08 11:48:22 · 94 阅读 · 0 评论 -
并发编程(一) java中java.util.concurrent.Executor包下的线程池
为了更好的控制线程,jdk提供了一套线程框架Executor,帮助开发人员有效的进行线程控制。他们都在java.util.concurrent包中,是jdk并发包的核心。其中一个比较重要的类:Executors,他扮演线程工厂的角色,以下为创建线程池的方法。1. newFixedThreadPool()方法:该方法返回一个固定数量线程池,该方法的线程数量始终不变,当有一个任务提交时,若线程池空...原创 2020-02-07 14:50:06 · 905 阅读 · 1 评论