
java
文章平均质量分 68
张施文
问题不大,个人公号:北辰游戏工作室
展开
-
Prometheus介绍使用部署java调用
下载和安装:您可以从Prometheus的官方网站(https://prometheus.io)下载最新版本的Prometheus。关于Java应用程序如何调用Prometheus,您可以使用Prometheus提供的客户端库来收集和暴露应用程序的指标。PromQL是Prometheus的查询语言,它允许您灵活地查询和聚合指标数据。通过这些步骤,您的Java应用程序将能够使用Prometheus客户端库来收集和暴露指标数据,以便Prometheus服务器可以抓取和存储这些数据,并提供查询和监控功能。原创 2023-10-24 18:26:20 · 948 阅读 · 0 评论 -
kafka入个门
Message Queue(MQ),消息队列中间件。很多人都说:MQ 通过将消息的发送和接收分离来实现应用程序的异步和解偶,这个给人的直觉是——MQ 是异步的,用来解耦的,但是这个只是 MQ 的效果而不是目的。MQ 真正的目的是为了通讯,屏蔽底层复杂的通讯协议,定义了一套应用层的、更加简单的通讯协议。一个分布式系统中两个模块之间通讯要么是HTTP,要么是自己开发的(rpc) TCP,但是这两种协议其实都是原始的协议。原创 2023-03-01 00:47:34 · 288 阅读 · 0 评论 -
js 汉字转拼音
1.引用<script th:src="@{/js/Convert_Pinyin.js}"></script>2.使用 $('#bootstrap-table tr td input').blur(function(e){ var $this = $(this); var $td = $this.parent(); var indextd = $td.index(); if(indextd == '2'){原创 2022-05-05 17:36:44 · 25190 阅读 · 0 评论 -
网络编程NIO
Java NIO 中的 SocketChannel 是一个连接到 TCP 网络套接字的通道。A selectable channel for stream-oriented connecting sockets. 以上是 Java docs 中对于 SocketChannel 的描述:SocketChannel 是一种面向流连接sockets 套接字的可选择通道。从这里可以看出: SocketChannel 是用来连接 Socket 套接字。原创 2023-02-24 01:00:00 · 317 阅读 · 0 评论 -
JVM18运行时参数
由于多核的原因,一般的 GC 事件中,real time 是小于 sys time + user time 的,因为一般是多个线程并发的去做 GC,所以 real time 是要小于 sys + user time 的。针对 HotSpot VM 的实现,它里面的 GC 按照回收区域又分为两大种类型:一种是部分收集(Partial GC),一种是整堆收集(Full GC)目前,只有 G1 GC 会有这种行为。括号外:GC 回收前年轻代和老年代大小,回收后大小,(年轻代和老年代总大小)原创 2023-02-23 00:23:05 · 271 阅读 · 0 评论 -
JVM17GUI工具
为此,JDK 提供了一些内存泄漏的分析工具,如 jconsole,jvisualvm 等,用于辅助开发人员定位问题,但是这些工具很多时候并不足以满足快速定位的需求。所以这里我们介绍的工具相对多一些、丰富一些。jconsole:JDK 自带的可视化监控工具。查看 Java 应用程序的运行概况、监控堆信息、永久区(或元空间)使用情况、类加载情况等Visual VM:Visual VM 是一个工具,它提供了一个可视界面,用于查看 Java 虚拟机上运行的基于 Java 技术的应用程序的详细信息。原创 2023-02-22 23:24:45 · 613 阅读 · 0 评论 -
JVM19OQL 语言查询对象信息
MAT 支持一种类似于 SQL 的查询语言 OQL(Object Query Language)。OQL 使用类 SQL 语法,可以在堆中进行对象的查找和筛选。原创 2023-02-28 00:00:00 · 321 阅读 · 0 评论 -
JVM20浅堆深堆与内存泄露
浅堆是指一个对象所消耗的内存。在 32 位系统中,一个对象引用会占据 4 个字节,一个 int 类型会占据 4 个字节,long 型变量会占据 8 个字节,每个对象头需要占用 8 个字节。根据堆快照格式不同,对象的大小可能会同 8 字节进行对齐。以 String 为例:2 个 int 值共占 8 字节,对象引用占用 4 字节,对象头 8 字节,合计 20 字节,向 8 字节对齐,故占 24 字节。(jdk7 中)这 24 字节为 String 对象的浅堆大小。原创 2023-02-22 23:24:22 · 256 阅读 · 0 评论 -
JVM16命令行
在我们刚接触 java 学习的时候,大家肯定最先了解的两个命令就是 javac,java,那么除此之外,还有没有其他的命令可以供我们使用呢?我们进入到安装 jdk 的 bin 目录,发现还有一系列辅助工具。这些辅助工具用来获取目标 JVM 不同方面、不同层次的信息,帮助开发人员很好地解决 Java 应用程序的一些疑难杂症。原创 2023-02-22 16:39:56 · 241 阅读 · 0 评论 -
JVM15JVM调优
监控的依据运行日志异常堆栈GC 日志线程快照堆转储快照调优的大方向合理地编写代码充分并合理的使用硬件资源合理地进行 JVM 调优。原创 2023-02-21 05:00:00 · 236 阅读 · 0 评论 -
JVM14 类加载器
用户自定义类加载器在Java的日常应用程序开发中,类的加载几乎是由上述3种类加载器相互配合执行的。在必要时,我们还可以自定义类加载器,来定制类的加载方式。体现Java语言强大生命力和巨大魅力的关键因素之一便是,Java开发者可以自定义类加载器来实现类库的动态加载,加载源可以是本地的JAR包,也可以是网络上的远程资源。通过类加载器可以实现非常绝妙的插件机制\color{red}{通过类加载器可以实现非常绝妙的插件机制}通过类加载器可以实现非常绝妙的插件机制,这方面的实际应用案例举不胜举。原创 2023-02-21 04:00:00 · 300 阅读 · 0 评论 -
JVM13 类的生命周期
按照 Java 虚拟机规范,从 class 文件到加载到内存中的类,到类卸载出内存为止,它的整个生命周期包括如下 7 个阶段:其中,验证、准备、解析 3 个部分统称为链接(Linking)从程序中类的使用过程看。原创 2023-02-20 22:21:28 · 230 阅读 · 0 评论 -
JVM12 字节码指令集
iload 从局部变量中装载int类型值lload 从局部变量中装载long类型值fload 从局部变量中装载float类型值dload 从局部变量中装载double类型值aload 从局部变量中装载引用类型值(refernce)iload_0 从局部变量0中装载int类型值iload_1 从局部变量1中装载int类型值iload_2 从局部变量2中装载int类型值iload_3 从局部变量3中装载int类型值lload_0 从局部变量0中装载long类型值。原创 2023-02-20 21:18:32 · 853 阅读 · 0 评论 -
JVM12 class文件
在 Java 语言中,要重载(Overload)一个方法,除了要与原方法具有相同的简单名称之外,还要求必须拥有一个与原方法不同的特征签名,特征签名就是一个方法中各个参数在常量池中的字段符号引用的集合,也就是因为返回值不会包含在特征签名之中,因此 Java 语言里无法仅仅依靠返回值的不同来对一个已有方法进行重载。在 interfaces[]中,各成员所表示的接口顺序和对应的源代码中给定的接口顺序(从左至右)一样,即 interfaces[0]对应的是源代码中最左边的接口。常量池中的每一项都具备相同的特征。原创 2023-02-20 20:45:21 · 318 阅读 · 0 评论 -
ES 导入导出 数据
安装elasticdump。原创 2023-02-20 14:58:40 · 1073 阅读 · 0 评论 -
JVM11 垃圾回收
而且在限定单核cpu才可以用。现在都不是单核的了。对于交互较强的应用而言,这种垃圾收集器是不能接受的。一般在Java web应用程序中是不会采用串行垃圾收集器的。截止JDK1.8,一共有7款不同的垃圾收集器。每一款的垃圾收集器都有不同的特点,在具体使用的时候,需要根据具体的情况选用不同的垃圾收集器。GC发展阶段:Seria l=> Parallel(并行)=> CMS(并发)=> G1 => ZGC不同厂商、不同版本的虚拟机实现差距比较大。原创 2023-02-20 01:14:41 · 826 阅读 · 0 评论 -
JVM10垃圾回收算法
垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。如果不及时对内存中的垃圾进行清理,那么,这些垃圾对象所占的内存空间会一直保留到应用程序的结束,被保留的空间无法被其它对象使用,甚至可能导致内存溢出。原创 2023-02-19 18:36:51 · 485 阅读 · 0 评论 -
JVM08 StringTable
总结string的intern()的使用:JDK1.6中,将这个字符串对象尝试放入串池。如果串池中有,则并不会放入。返回已有的串池中的对象的地址如果没有,会把此对象复制一份,放入串池,并返回串池中的对象地址JDK1.7起,将这个字符串对象尝试放入串池。如果串池中有,则并不会放入。返回已有的串池中的对象的地址如果没有,则会把对象的引用地址复制一份,放入串池,并返回串池中的引用地址在JDK6中,在字符串常量池中创建一个字符串 “ab”原创 2023-02-17 01:01:27 · 305 阅读 · 0 评论 -
JVM09执行引擎
执行引擎属于JVM的下层执行引擎是Java虚拟机核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自行实现的,因此可以不受物理条件制约地定制指令集与执行引擎的结构体系,能够执行那些不被硬件直接支持的指令集格式。原创 2023-02-17 03:00:00 · 324 阅读 · 0 评论 -
JVM06
new:最常见的方式、单例类中调用getInstance的静态类方法,XXXFactory的静态方法Class的newInstance方法:在JDK9里面被标记为过时的方法,因为只能调用空参构造器Constructor的newInstance(XXX):反射的方式,可以调用空参的,或者带参的构造器使用clone():不调用任何的构造器,要求当前的类需要实现Cloneable接口中的clone接口使用序列化:序列化一般用于Socket的网络传输第三方库 Objenesis。原创 2023-02-16 23:30:00 · 154 阅读 · 0 评论 -
JVM05 方法区
Person:存放在元空间,也可以说方法区person:存放在Java栈的局部变量表中new Person():存放在Java堆中。原创 2023-02-16 22:00:00 · 331 阅读 · 0 评论 -
JVM04 堆
针对幸存者s0,s1区的总结:复制之后有交换,谁空谁是to关于垃圾回收:频繁在新生区收集,很少在老年代收集,几乎不再永久代和元空间进行收集新生代采用复制算法的目的:是为了减少内碎片。原创 2023-02-15 23:13:35 · 184 阅读 · 0 评论 -
JVM03运行时数据区
运行时数据区是否存在Error是否存在GC程序计数器否否虚拟机栈是否本地方法栈是否方法区是(OOM)是堆是是。原创 2023-02-14 23:38:29 · 101 阅读 · 0 评论 -
JVM02类加载子系统
在Java的日常应用程序开发中,类的加载几乎是由上述3种类加载器相互配合执行的,在必要时,我们还可以自定义类加载器,来定制类的加载方式。为什么要自定义类加载器?隔离加载类修改类加载的方式扩展加载源防止源码泄漏。原创 2023-02-14 00:51:14 · 159 阅读 · 0 评论 -
JDBCTemplate分页
【代码】JDBCTemplate分页。原创 2022-09-06 18:29:18 · 3824 阅读 · 0 评论 -
java 不同时区转换
java不同时区的转换原创 2022-06-28 22:42:43 · 2102 阅读 · 0 评论 -
若依启动命令脚本
#!/bin/sh# ./ry.sh start 启动 stop 停止 restart 重启 status 状态AppName=xms-admin.jar# JVM参数JVM_OPTS="-Dname=$AppName -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+Print原创 2022-05-23 16:57:24 · 2451 阅读 · 0 评论 -
liunx启动jar包
一. 启动命令要想在linux中运行java的项目需要先将项目打包成war包或者jar包。其中打包成war包需要将war包部署到tomcat服务器上才能运行。而打包成jar包可以直接使用java命令执行。在linux系统中运行jar包主要有以下几种方式。一、java -jar xxx.jar这是最基本的jar包执行方式,但是当我们用ctrl+c中断或者关闭窗口时,程序也会中断执行。二、java -jar xxx.jar &&代表在后台运行,使用ctrl+c不会中断程序的运行,但原创 2022-05-20 16:29:27 · 3078 阅读 · 0 评论 -
同一dto找不同项存起来
/** * 生成变更记录信息 * @param o1 变更前信息 * @param n1 表更后信息 * @param table 表名 * @param aaz308 事件id * @return */ public List<Ae07> getAe07(Object o1,Object n1,String table,Long aaz308){ List<Ae07> ae07Lis..原创 2021-07-22 15:59:53 · 1230 阅读 · 0 评论 -
类与包的易错点
类的阐述包原创 2021-07-02 15:42:44 · 1179 阅读 · 0 评论 -
Java list过滤处理,置零处理,加和处理
//字符串分割成listString poolAreaNo = dto.getPoolAreaNo(); String[] split = poolAreaNo.split(","); List<String> poolAreaNoList = Arrays.asList(split); dto.setPoolAreaNoList(poolAreaNoList);//取满足条件的listlist.stream().filter(dto -&g原创 2021-04-16 11:45:59 · 1678 阅读 · 0 评论 -
非必传参数写法
controler@ApiParam(required = false, name = "aae135", value = "身份证号") @RequestParam(required = false) String aae135,@ApiParam(required = false, name = "aac003", value = "姓名") @RequestParam(required = false) String aac003,if (aac003 == null || aac003.t原创 2021-04-16 11:35:58 · 2589 阅读 · 0 评论 -
常用快捷键
1.Windows:window键+D 这个只是最小化当前网页,而不是关闭页面,画面直接回到桌面,重复一次,恢复原样。俗称“老板键”。Alt+Tab 两个程序交换……在游戏死机时用的较多2.workshop:ctrl+k 查找下一个ctrl +t 查看实现方法ctrl +l 查看行号ctrl+h 全局搜索ctrl+shift+r 查文件ctrl+/ 单行注释ctrl+shift+/ 多行注释ctrl+shift+F原创 2021-04-16 11:33:23 · 1224 阅读 · 0 评论 -
java开发环境搭建+UML设计
原创 2020-06-24 09:51:16 · 1270 阅读 · 0 评论 -
存储-win命令-命名-数据类型-强转
存储win常用命令java初步命名基本数据类型强制类型转换原创 2020-03-11 21:45:08 · 1219 阅读 · 0 评论 -
junit-反射-注解
junit测试黑盒测试:不写代码白盒测试:junit测试1.测试类名:****Test包名称:cn.itcast.test2.方法名:testAdd();返回值:void参数列表:空参3.给方法加@Test4.导入依赖红色:失败绿色:成功断言public class Demo { public int add(int a,int b){ retur...原创 2020-04-01 13:20:38 · 1365 阅读 · 0 评论 -
Steam流-方法引用
多次循环,繁琐,过滤数组1.8之后出的Steam流List<String> list = new ArrayList<>(); list.add("张巨顺"); list.add("和你"); list.add("张牛"); list.add("张强"); list.add("王子龙");...原创 2020-03-31 17:36:14 · 3291 阅读 · 0 评论 -
函数式接口
函数式接口在Java中是指:有且仅有一个抽象方法的接口@FunctionalInterface //检测public interface MyFunctionalInterface { void myMethod(); }函数式编程lambda延迟执行(性能提升) @FunctionalInterfacepublic interface MessageBuilder { ...原创 2020-03-31 15:29:38 · 1205 阅读 · 0 评论 -
网络编程
C/S结构 :全称为Client/Server结构B/S结构 :全称为Browser/Server结构TCP/IP协议,协议及规则UDP是无连接通信协议,消耗资源小,通信效率高特点:数据被限制在64kb以内,超出这个范围就不能发送了。TCP:传输控制协议 (Transmission Control Protocol)。TCP协议是面向连接的通信协议TCP协议中,在发送数据的准备阶段,客...原创 2020-03-30 00:03:59 · 1194 阅读 · 0 评论 -
file-IO-Properties-缓冲流-转换流-序列化-打印流
file文件path路径directory目录路径不能写死pathSeparator路径分隔符,win;Linu:separator名称 - 分隔符字符,,win\ Linux/相对路径:相对于项目目录的路径public String getAbsolutePath() :返回此File的绝对路径名字符串。public String getPath() :将此File转换为...原创 2020-03-29 11:43:26 · 1244 阅读 · 0 评论