自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学Java,找哪吒

订阅专栏的同学请私信我进交流群

  • 博客(17)
  • 资源 (5)
  • 问答 (2)
  • 收藏
  • 关注

转载 tomcat如何增大并发_系统的性能瓶颈,排查该从哪些方面入手,如何定位?

一、如何排查系统的性能瓶颈点?梳理系统的性能瓶颈点这件事应该不是一件简单的事情,需要针对不同设计的系统来进行单独分析。首先一套完整可用的系统应该是有ui界面的(这里强调的是一套完整的,可用的系统,而并不是指单独的一个中台系统),系统分为了前端模块和后端模块。这里由于我个人的擅长领域更多是处于后端模块,所以对于系统的瓶颈点梳理我会从后端进行分析。这里我结合常用的nginx+tomcat+redis+mysql这类常见架构进行分析:请求入口 所有的请求打入到后台的服务当中,首先需要考虑的

2021-03-29 22:01:09 1942

转载 Java句柄与指针

java中的句柄分为两种:对象句柄 jvm中对象访问句柄一、对象句柄句柄: 一个唯一的整数,作为对象的身份id,区分不同的对象,和同类中的不同实例。程序可以通过句柄访问对象的部分信息。句柄不代表对象的内存地址。在Java中的任何东西都可以看做对象,存在一种标识符实际指向一个对象的句柄.在Java的其他地方或者数据中也有称为 "引用"或者 "指针". 只是一个引用地址,我们不能认为Java中没有指针,其实这就是一个指针,我们每次操作对象就是根据句柄去找到对象操作对象的. 即使没有对象,我们也可以让

2021-03-29 21:49:23 2037 1

转载 工具型产品如何实现商业化模式

一、工具型产品概述所谓工具型产品,就是为解决特定某一个很明确具体的需求而存在的工具,而工具本身天生是和「效率」关联在一起的。所以工具型产品最核心的功能就是帮用户提升效率、节省时间精力。一直以来,规模做不大、用户粘性低、可替代性强、缺乏明确的商业模式,都被认为是工具型应用的通病,但回归商业本质,没有可持续性的增长与变现方式,产品最终也会自然走向衰退。移动APP排行榜TOP10中,工具型产品便占了6位,其中不乏BAT三家旗下的产品,也有创业公司凭借单个爆款工具成功挤进前列。见过不少工具型产品,.

2021-03-29 21:28:53 1908

转载 数据库大批量SQL插入性能优化

对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长。特别像报表系统,每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久。因此,优化数据库插入性能是很有意义的。经过对MySQL InnoDB的一些性能测试,发现一些可以提高insert效率的方法,供大家参考参考。一、一条SQL语句插入多条数据常用的插入语句如:INSERT INTO `insert_table` (`datetime`, `uid`, `content`, `type`) V

2021-03-29 21:22:18 3430

转载 Class.forName(),classloader.loadclass用法详解

为什么要把ClassLoader.loadClass(String name)和Class.forName(String name)进行比较呢,因为他们都能在运行时对任意一个类,都能够知道该类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性。一、java类装载的过程在比较它俩之前需先了解一下java类装载的过程java类装载过程分为3步:1、加载Jvm把class文件字节码加载到内存中,并将这些静态数据装换成运行时数据区中方法区的类型数据,在运行时数据区堆中生成一个代

2021-03-29 21:15:02 4131 1

转载 tomcat优化——并发和Tomcat线程数

最近一直在解决线上一个问题,表现是:Tomcat每到凌晨会有一个高峰,峰值的并发达到了3000以上,最后的结果是Tomcat线程池满了,日志看很多请求超过了1s。服务器性能很好,Tomcat版本是7.0.54,配置如下:<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="3000" minSpareThreads="800"/> <Connector execut...

2021-03-25 20:56:34 5038 2

转载 docker容器启动后修改或添加端口

docker容器启动后怎么修改端口映射?在docker run创建并运行容器的时候,可以通过-p指定端口映射规则。但是,也会遇到刚开始忘记设置端口映射或者设置错了需要修改的情况。当docker start运行容器后,并没有提供一个-p选项或设置,让你修改指定端口映射规则。通常间接的办法是,保存镜像,再创建一个新的容器,在创建时指定新的端口映射。方法一:删除原有容器,重新建新容器这个解决方案最为简单,把原来的容器删掉,重新建一个。当然这次不要忘记加上端口映射。优点是简单快捷,在测试环境使用较多。缺

2021-03-24 21:19:31 18972 4

转载 【压力测试 2】JMeter压力测试之Internal server error 500 问题解决思路

一、JMeter客户端实现有两种方式1、Java:选择压测时,链接是复用的(代码中的http调用都加了连接池)2、httpclient4:压测时,每请求一次都创建一个新的链接,(jmeter5.0以前默认关闭了连接复用,5.0上是打开的:即每请求一次都会创建一个新的链接)从JMeter 5.0开始,当使用默认的HC4实现时,JMeter将在每个线程组迭代时重置HTTP状态(SSL状态+连接)。如果您不想要此行为,请设置httpclient.reset_state_on_thread_group_

2021-03-24 21:07:46 16141 4

转载 tomcat的maxThreads、acceptCount,对高并发的影响

一、tomcat并发测试当一个进程有 500 个线程在跑的话,那性能已经是很低很低了。Tomcat 默认配置的最大请求数是 150,也就是说同时支持 150 个并发,当然了,也可以将其改大。当某个应用拥有 250 个以上并发的时候,应考虑应用服务器的集群。具体能承载多少并发,需要看硬件的配置,CPU 越多性能越高,分配给 JVM 的内存越多性能也就越高,但也会加重 GC 的负担。操作系统对于进程中的线程数有一定的限制:Windows 每个进程中的线程数不允许超过 2000。 Linux

2021-03-23 21:28:23 2630 1

原创 【JVM 1】类加载器 + 运行时数据区

一、运行时数据区内部结构二、PC寄存器1、概念JVM中的程序计数寄存器(Program Counter Register)中,Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能运行。这里,并非广义上所指的物理寄存器,或许将其翻译为PC计数器(或指令计数器)会更加贴切(也称为程序钩子),并且不容易引起一些不必要的误会。JVM中的PC寄存器是对物理PC寄存器的一种抽象模拟。2、作用PC寄存器用来存储指向下一条指令的地址,也即将

2021-03-17 00:12:13 4988 24

原创 jmeter性能测试步骤

一、下载安装及使用下载地址:jmeter-plugins.org安装:下载后文件为plugins-manager.jar格式,将其放入jmeter安装目录下的lib/ext目录,然后重启jmeter,即可。启动jemter,点击选项,最下面的一栏,如下图所示:打开后界面如下:Installed Plugins(已安装的插件):即插件jar包中已经包含的插件,可以通过选中勾选框,来使用这些插件;Available Plugins(可下载的插件):即该插件扩展的一些插件,可以通过

2021-03-16 23:02:24 22409 6

原创 【Java 代码实例 7】jsoup解析html

一、Jsoup简介Jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。二、Jsoup的主要功能1、从一个URL,文件或字符串中解析HTML2、使用DOM或CSS选择器来查找、取出数据3、可操作HTML元素、属性、文本注意:jsoup是基于MIT协议发布的,可放心使用于商业项目。三、Jsoup用法简介1、获得Document对象Docum

2021-03-13 00:04:04 2765 11

原创 【Java 代码实例 8】qrcode生成二维码

一、前言QR Code码,是由Denso公司于1994年9月研制的一种矩阵二维码符号,它具有一维条码及其它二维条码所具有的信息容量大、可靠性高、可表示汉字及图象多种文字信息、保密防伪性强等优点。先下载QRCode.jar包:https://pan.baidu.com/s/1Pb9XzWKhumgwaYrE90vyWg二、代码实例1、生成二维码//加密:文字信息 -> 二维码public static void encoderQRCode(String content, Stri

2021-03-12 22:02:14 5764 19

转载 【计算机网络 16】一个基于TCP协议的Socket通信实例

一、前言一般接口对接多以http/https或webservice的方式,socket方式的对接比较少并且会有一些难度。正好前段时间完成了一个socket的接口的对接需求,现将实现的思路做一个整理。二、需求概述1、需要提供一个socket服务端,实时接收三方传递过来的数据2、实时报文规范说明3、通讯及接口格式说明通讯方式:通讯采用 TCP 协议, SOCKET 同步短连接方式。报文结构:报文为不定长报文,以定长报文头+不定长报文体的方式报文基本结构如下图所示:

2021-03-10 20:32:06 2003

转载 【计算机网络 24】TCP/IP数据包结构详解

一、前言一般来说,网络编程我们只需要调用一些封装好的函数或者组件就能完成大部分的工作,但是一些特殊的情况下,就需要深入的理解网络数据包的结构,以及协议分析。如:网络监控,故障排查等。IP包是不安全的,但是它是互联网的基础,在各方面都有广泛的应用。由IP协议衍生的协议族有10数种(据我所知),以后还会出现更多的基于IP的。先从实际出发吧!一般我们在谈上网速度的时候,专业上用带宽来描述,其实无论说网速或者带宽都是不准确的,呵呵。比如:1兆,512K……有些在学校的学生,也许会有疑问,

2021-03-10 20:25:17 10952 1

原创 【Java 多线程 7】通过socket、多线程、动态代理、反射 实现RPC远程方法调用

一、概念梳理1、Socket是什么?Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。Socket技术详解2、动态代理是什么?目前java动态代理的实现分为两种1.基于JDK的动态代理2.基于CGILB的动态代理在业务中使用动态代理,一般是为了给需要实现的方法添加预处理

2021-03-08 21:17:12 5344 18

转载 Java反射中,为什么推荐Class.forName()获取class?

一、Java反射中获取Class对象的三种方式在Java反射中,反射的入口就是class,获取class的方式有三种Class.class; Class.forName(); 对象.getClass()对三者的简单理解Class.class的形式会使JVM使用类加载器将类装入内存(前提是类还没有装入内存),不做类的初始化工作,返回Class对象。 Class.forName()的形式会装入类并做类的静态初始化,返回Class对象。 对象.getClass的形式会对类进行静态初始化

2021-03-06 09:44:56 6885 1

在SPL运行环境中执行的脚本

在集算器(即SPL运行环境)中执行该脚本可将数据写入数据库(以MySQL为例)

2022-04-14

SPL集文件格式的数据

SPL集文件格式的数据

2022-04-14

SPL集文件格式的数据

SPL集文件格式的数据

2022-04-14

10万字208道Java经典面试题总结(附答案)_Java攻城狮-CSDN博客_java经典面试题及答案.pdf

10万字208道Java经典面试题总结(附答案)_Java攻城狮-CSDN博客_java经典面试题及答案.pdf

2022-01-01

Java学习路线思维导图.png

适合初中级程序员的Java学习路线图

2021-10-09

空空如也

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

TA关注的人

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