background picture of the home page

I GOT YOUUUUU

netty模拟tcpClient高并发配置总结(2)

netty代码端同样需要对高并发场景进行调优 适用场景 高并发场景下,通常要使用多线程的方式创建连接(类似下面的方式),同时需要避免使用sync或wait这种同步方法获取tcp通信过程中的状态.最好是使用Listener的方式异步处理.(为了避免第一步创建连接的时候就出现抢占冲突,建议connect

thumbnail of the cover of the post

netty模拟tcpClient高并发配置总结(1)

netty作为客户端,在模拟高并发场景时,可以在一下几个方面进行调优 系统层(linux) 机器资源是限制tcp连接数的重要瓶颈,尤其是高并发创建client时,会大量使用系统资源,故需要了解系统有哪些限制,以及如何做参数调优 系统文件描述符 查看方式 ulimit -n 修改方式 ulimit

thumbnail of the cover of the post

java远程操作linux

Runtime.exec() 这个指令是对当前的安装jar的系统进行操作,用户权限为当前启动jar的用户权限. 远程执行session&channel 对于需要远程连接其他linux主机并进行操作的情况,建议使用jsch包,进行扩展 <dependency> <groupId>com.jcr

thumbnail of the cover of the post

Lambda双冒号的探索

Lambda在解决什么问题 lambda的本质是java的语法糖,目的是为了简化开发成本,降低代码阅读难度.基于这个前提来理解lambda的语法会方便很多,下面主要是对::使用的理解. 先看代码: package com.joshua.test; import org.junit.Test; /

thumbnail of the cover of the post

protoc编译.proto文件

输出到java例子 编译https://github.com/apache/skywalking-data-collect-protocol的文件 protoc --proto_path ./skywalking-data-collect-protocol-master --java_out ./

thumbnail of the cover of the post

多线程学习笔记(4)

线程场景 IO密集型任务: 任务类型主要是IO操作,CPU利用率低. CPU密集型任务: 任务类型主要是计算工作,响应快,CPU会一直工作,其利用率也很高. 混合型任务: 任务包含了IO操作和逻辑运算,由于IO操作的成本通常比逻辑操作的高出非常多.所以此类型任务,多数情况也是CPU利用率不高. 如何

thumbnail of the cover of the post

多线程学习笔记(3)

线程池 Java线程池有两个比较重要的概念: 线程数量:指当前线程池中,可以同时工作的线程数 任务队列:该队列可以接收实现Runnable接口的对象,并通过线程池自动管理执行 线程池的创建通过Executors工厂类提供,JAVA默认提供了四种快速创建线程池的方法: Executors.newSin

thumbnail of the cover of the post

多线程学习笔记(2)

线程的调度 JVM的线程调度模型基本上是由操作系统决定的,调度模型分为两种: 分时调度模型: 系统平均分配CPU时间片,所有线程轮流占用CPU 抢占式调度模型: 系统根据线程优先级分配CPU时间片,优先级高的优先分配CPU时间片,如果优先级相同,则随机选择一个. JAVA使用的是抢占式调度模型 线程

thumbnail of the cover of the post

多线程学习笔记(1)

线程的创建 Thread类 核心方法为run()和start(). Thread类有一个默认的run()实现,如果要使用自己的run方法,需要通过继承Thread类,重写run方法. Runnable接口 Thread有一个Runnable的变量target,通过Thread(Runnable ta

thumbnail of the cover of the post

设计模式-职责型模式

导语 我们习惯去说类和方法承担着各种各样的职责。事实上,这通常意味着你有责任提供健壮的设计,并让代码承担合适的功能。幸运的是,Java语言分担了一部分责任。我们可以限制类、字段和方法的可见性,从而去限制其他开发人员对你开发的代码的调用。可见性向读者展示了该如何暴露类的部分内容。 单例模式-Singl

thumbnail of the cover of the post