![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
芒果茫得很
不讲码德
展开
-
syslog watcher syslog4j
1.下载syslog watcherSyslogWatcherSetup-5.2.3.msihttps://www.aliyundrive.com/s/8C6Cw7RuyUV2.设置编码3.java:<dependency> <groupId>org.syslog4j</groupId> <artifactId>syslog4j</artifactId> <version>0.9.46<.原创 2022-01-12 19:49:48 · 2162 阅读 · 0 评论 -
idea docker
1.centos修改docker配置#修改Docker服务文件,需要先切换到root用户vim /lib/systemd/system/docker.service#注释掉"ExecStart"这一行,并添加下面这一行信息ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375systemctl daemon-reloadsyst原创 2021-08-28 18:10:45 · 239 阅读 · 0 评论 -
java调用.so方法
Linux环境下yum install gcc-c++ cmake1.新建Hello.c#include <stdio.h>int add(int a,int b);int add(int a,int b) {return a+b;}2.编译.c生成.so动态链接库文件2.1生成.o文件gcc -fpic -c Hello.c2.2生成.so文件gcc -shared -o libHello.so Hello.o3.引入依赖...原创 2021-08-21 12:00:21 · 5185 阅读 · 2 评论 -
JAXBContext.newInstance线程阻塞
问题现象:java.lang.Thread.State: BLOCKED (on object monitor)at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:719)- waiting to lock <0x0000000080af2208> (a sun.net.www.protocol.jar.URLJarFile)at java.io.FilterI...原创 2021-05-21 21:09:16 · 1725 阅读 · 1 评论 -
记录xx项目生产oom导致dump,通过jvisualvm排查.hprof文件找出问题根源
记录xx项目生产dump排查1.描述20200229 6点生产某台机器宕机重启,通过运维拿出dump文件(:java_pid1(2020-02-29).hprof),如图刚开始接收dump文件不知道如何排查,公司同事用jprofile9,用这个看不出什么。故保存dump后续研究====================================================================================20210329 学习jvm后通过visu原创 2021-03-29 23:13:15 · 1473 阅读 · 2 评论 -
cpu飙升测试
代码:DemoController.java package com.xxx.demo;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;/*** cpu飙升** @author admin* @date 2021/3/20 10:57*/@RestController@RequestMap...原创 2021-03-20 12:04:09 · 159 阅读 · 0 评论 -
mybatis3.5.3使用resultType线程阻塞
Object getRowValue(ResultSetWrapper rsw, ResultMap resultMap, String columnPrefix) throws SQLException {final ResultLoaderMap lazyLoader = new ResultLoaderMap();Object rowValue = createResultObject(rsw, resultMap, lazyLoader, columnPrefix);if (row...原创 2021-03-15 22:47:13 · 388 阅读 · 0 评论 -
Runtime.getRuntime().addShutdownHook(shutdownHook);
这个方法的意思就是在jvm中增加一个关闭的钩子,当jvm关闭的时候,会执行系统中已经设置的所有通过方法addShutdownHook添加的钩子,当系统执行完这些钩子后,jvm才会关闭。所以这些钩子可以在jvm关闭的时候进行内存清理、对象销毁等操作。...原创 2020-11-06 10:38:20 · 115 阅读 · 0 评论 -
转发:线上数据库的死锁问题排查
转发 https://mp.weixin.qq.com/s/bRKcuUo3Pbfv6CPK82Y01A一次诡异的线上数据库的死锁问题排查过程原创HollisJava之道2019-04-09前几天,线上发生了一次数据库死锁问题,这一问题前前后后排查了比较久的时间,这个过程中自己也对数据库的锁机制有了更深的理解。本文总结了这次死锁排查的全过程,并分析了导致死锁的原因及解决方案。希望给大家提供一个死锁的排查及解决思路。本文涉及到MySql执行引擎、数据库隔离级别、Innodb锁机制、索引、...转载 2021-03-07 22:12:44 · 358 阅读 · 0 评论 -
B+Tree插入过程
假设二阶树在分裂时中位数节点会作为key,并上移成为父节点,中位数左右数据分别作为左右子节点,中位数数据会存放在右节点中,然后左节点指针指向右节点的中位数数据叶节点只存储索引,叶子节点存储数据,叶子节点之间使用链表关联...原创 2021-03-06 13:47:03 · 664 阅读 · 0 评论 -
threadlocal 数组索引下标计算
package com.example.webdemo.framework.threadlocal;/** * 计算threadlocal扩容后下标索引 * * @author safe * @date 2021/3/6 */public class MagicHashCode { //ThreadLocal中定义的hash魔数 private static final int HASH_INCREMENT = 0x61c88647; public static .原创 2021-03-06 12:28:28 · 230 阅读 · 0 评论 -
NoSuchMethodError:XmlOptions.setEntityExpansionLimit
poi导入时报错:Caused by: java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions; at org.apache.poi.ooxml.POIXMLTypeLoader.<clinit>(POIXMLTypeLoader.java:43) at org.apache.poi.xssf.model.T原创 2021-02-19 20:49:25 · 5339 阅读 · 1 评论 -
spring boot Invalid bound statement (not found)
前提1:检查xml文件所在package名称是否和Mapper interface所在的包名一一对应;2:检查xml的namespace是否和xml文件的package名称一一对应;3:检查方法名称是否对应;4:检查包扫描是否能包含问题:dao和mapper.xml配置无问题,调用接口报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 具体配置信息: 前提原创 2020-11-25 13:00:49 · 3571 阅读 · 2 评论 -
TransactionTemplate新事务
@AutowiredTransactionTemplate transactionTemplate; @Transactional(rollbackFor = Exception.class)public void testRpcConn() { DemoDo b = new DemoDo(); b.setId(1); b.setUpdateTime(null); b.setName(UUID.randomUUID()...原创 2020-11-06 10:37:25 · 991 阅读 · 2 评论 -
java.lang.NoClassDefFoundError: java/sql/SQLException
问题描述:使用junit报错initializationErrorjava.lang.NoClassDefFoundError: java/sql/SQLException解决:目前使用是openjdk14,该用jdk1.8原创 2020-10-11 14:58:16 · 2241 阅读 · 1 评论 -
nacos连接超时设置
超时vm配置:-Dcom.alibaba.nacos.client.naming.ctimeout=5000原创 2020-08-13 10:04:19 · 12756 阅读 · 1 评论 -
Java IO流接口
原创 2020-07-15 18:00:45 · 215 阅读 · 0 评论 -
HashMap存取图解
hashMap.pus()源码:final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { Node<K,V>[] tab; Node<K,V> p; int n, i; if ((tab = table) == null || (n = tab.length) == 0) n = (tab = resize()).le..原创 2020-07-10 14:06:24 · 286 阅读 · 0 评论 -
mybatis实现多数据源分库
依赖pom:spring boot<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.1</version></dependency>配置文件:datasource.driverClas.原创 2020-07-10 13:46:31 · 363 阅读 · 0 评论 -
cookie与session使用原理及具体实现
cookie&session说明:浏览器与服务器交互信息的获取(1)请求头:表示浏览器告诉服务器请求的基本信息HTTP1.0:断开连接,浏览器每一次访问服务器都需要重新建立连接HTTP1.1:维持连接(2)响应头:表示服务器告诉浏览器响应的基本信息 伪代码实现:1.Cookie:存储在客户端内存或硬盘1.1.服务器设置cookieCookie cookie1 = new Cookie("str1", "asdxzc");coo...原创 2020-07-10 13:18:27 · 390 阅读 · 0 评论 -
Java Collection集合:List子类接口与Set子类接口
List是接口,都有迭代方法: *1.listIterator()可逆序,迭代时能操作元素 * 2.iterator()不可逆序,迭代时不能操作元素List集合:(ArrayList类、Vector类、LinkedList类)特点:有序(存储顺序就是添加顺序),可重复1.1底层是数组类:ArrayList、Vector(线程安全的);查询访问快,插入/删除效率低区别:默认长度都是10,ArrayList扩容长度是1.5倍,Vector是2倍1.2底层是双线链表类:Li...原创 2020-07-10 12:56:06 · 258 阅读 · 0 评论 -
mybatis group多个having条件
mybati多个having条件的写法prefix:在trim标签内sql语句加上前缀。suffix:在trim标签内sql语句加上后缀。suffixOverrides:指定去除多余的后缀内容,如:suffixOverrides=",",去除trim标签内sql语句多余的后缀","。 dao.java List<String> selectByProduc...原创 2020-03-20 13:48:56 · 8200 阅读 · 0 评论 -
利用POIcommons组件实现文件上传
1.导包: 2. 后台:2.1 fileupload项目WebContent下新建文件file、tmp文件夹:2.2 FileController.java@WebServlet(urlPatterns = {"/fileup.do"})//webVersion3.0可以使用注解设置urlparttenpublic class FileController exte...原创 2018-07-30 13:08:59 · 232 阅读 · 0 评论 -
jq-ajax设置同步方式
表单验证通过后发送ajax$.ajax({ async : false});$.ajax({ url : "", data : "", cache : false, //设置不缓存,即加时间戳 success : function(data){ if(data.success){ $.ajax({//ajax成功后解锁 async : true });...原创 2018-07-30 13:46:51 · 1275 阅读 · 0 评论 -
Idea一键自动导包设置--导入类中所有包
2.3.原创 2019-05-05 14:06:39 · 29004 阅读 · 5 评论 -
本地部署Apollo+spring boot客户端连接
1.启动部署服务器部署及启动参考 :https://github.com/ctripcorp/apollo/wiki/Quick-Start二:安装步骤./demo.sh start 等待一段时间访问http://192.168.132.128:8070/ Apollo/admin配置timeout参数为2002.创建spring boot apollo客户端...翻译 2019-05-02 10:26:13 · 1149 阅读 · 0 评论 -
读取配置properties文件
1.使用Properties IO流方式import java.io.IOException;class PropertiesTest { public static void main(String[] args) throws IOException{ //1.创建properties对象 Properties properties = new Properties(); ...原创 2018-07-30 13:59:22 · 369 阅读 · 0 评论 -
历史xml解析-dom4j
1.导包 2.Person.xml: <?xml version="1.0" encoding="UTF-8"?> <Person> <p1> <name>张三</name> <a原创 2018-07-30 13:56:17 · 141 阅读 · 0 评论 -
记录final、finalize、finally区别
final: final修饰的类不能被继承 final修饰的方法不能被重写 final修饰的常量名字全部大写,申明时赋值,且后面不能被修改 final修饰的形参从实参传递值后,不能在方法体中更改 final修饰的引用不能更改,但是该引用对象的属性可以修改finalize: 是根父类Object的子类...原创 2018-07-30 13:52:38 · 190 阅读 · 0 评论 -
java自定义异常demo
异常在开发中的应用自定义异常类:1.新建一个异常类(IleagalsexException)继承Exception 2.一般重写父类无参,带String参2个构造方法 3.封装验证处(setAge(int age))try抛出自定义异常字符串;使用throw new Ileagalsex("性别不合法");} 4.测试类捕获异常信息catch...原创 2018-07-30 13:50:47 · 574 阅读 · 0 评论 -
动态代理接口实现类
import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;import com.test.crm.service.MarketService;public class TransactionInvocationHandler2 impl...原创 2018-07-29 10:48:08 · 1227 阅读 · 0 评论 -
32位UUID作为字段主键
UUID 通用唯一识别码(Universally Unique Identifier)public class UUIDGenerator { public static void main(String[] args) { System.out.println(get()); } private UUIDGenerator (){} publi...原创 2018-07-29 10:01:52 · 1234 阅读 · 0 评论 -
利用反射动态调用controller层service方法
controller层service中有许多if/else判断servlet路径然后调用相应的方法目的:根据用户请求的url利用反射动态调用service方法,避免繁琐的if/else判断servletPathpublic class UrlparttenUtil { /** * 通过urlpartten中最后一个'/'的索引 取出service方法名调用该方法 ...原创 2018-07-29 09:55:04 · 7148 阅读 · 0 评论 -
反射带参与无参构造方法创建对象
public static void main(String[] args) throws NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { //...原创 2018-07-29 09:45:48 · 1720 阅读 · 0 评论 -
监听器通过反射读取xml文件
Linster_1:监听器要求服务器启动加载applicationContext.xml文件,通过反射Linster_1.class类获取路径applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans> <bean id="MarketServic...原创 2018-07-28 19:51:39 · 358 阅读 · 0 评论 -
java构建二叉树demo
public class BinTree { private BinTree lChild;//左孩子 private BinTree rChild;//右孩子 private BinTree root;//根节点 private Object data;//数据域 public BinTree(){} public BinTree(BinTree lChrild,BinTree ...原创 2018-07-31 13:16:39 · 2013 阅读 · 0 评论 -
url-pattern匹配优先级
.url-pattern 精确路径匹配:/abc/test.do 部分路径结合通配符匹配:/abc/* 通配符匹配:/* 后缀名匹配:*.do不存在这两种匹配:/abc/*.do和abc/*.doeg: servlet1:<url-pattern>/*</url-pattern> se...原创 2018-07-31 13:22:58 · 1615 阅读 · 1 评论 -
eclipse使用maven发布web项目
最新下载的eclipse版本已经内置maven插件,并且能够在tomcat下运行maven项目查看是否集成window-preference输入maven 1.下载Apache-Maven:http://maven.apache.org/download.cgi可以选择国内下载镜像应该比较快,不过也不是很大下载win环境下压缩包:apache-maven-3.5.4-b...原创 2018-08-10 15:13:29 · 4937 阅读 · 2 评论 -
mybatis 自关联查询Integer变为Long
解决办法取消mysql主键的无符号勾选即可原创 2019-03-24 13:37:18 · 1247 阅读 · 0 评论 -
懒汉式单例--双重检测锁实现线程安全
Football2.java/** * 懒汉式单例 * 用的时候再创建一个对象,线程不安全 * @author Administrator * */class FootBall2 { private static int count; private static FootBall2 fb; private FootBall2(){ ...原创 2018-10-26 16:49:39 · 751 阅读 · 0 评论