java
String>>罗曼蒂克
这个作者很懒,什么都没留下…
展开
-
如何使错误日志更加方便排查问题
在程序中打错误日志的主要目标是为更好地排查问题和解决问题提供重要线索和指导。但是在实际中打的错误日志内容和格式变化多样,错误提示上可能残缺不全、没有相关背景、不明其义,使得排查解决问题成为非常不方便或者耗时的操作。而实际上,如果编程的时候稍加用心,就会减少排查问题的很多无用功。 在阐述如何编写有效的错误日志之前, 了解错误是怎么产生的, 非常重要。 错误是如何炼成的 对于当前系统来说, 错误的产生由三个地方引入: 1. 上层系统引入的非法参数...转载 2020-12-11 16:05:50 · 247 阅读 · 0 评论 -
中文与UniCode互相转换
public class Tese01 { public static void main(String[] args) { String ss = "\\u0063\\u0068\\u0065\\u0073\\u0062\\u006f\\u0061\\u0072\\u0064\\u002c\\u0062\\u0075\\u006c\\u006c\\u0065\\u0074\\u002c\\u0054\\u0042\\u0043\\u002e"; String s.原创 2020-07-28 11:30:34 · 354 阅读 · 0 评论 -
MySQL百万级数据分页查询及优化
方法1: 直接使用数据库提供的SQL语句 语句样式:MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N 适应场景:适用于数据量较少的情况(元组百/千级) 原因/缺点:全表扫描,速度会很慢 且 有的数据库结果集返回不稳定(如某次返回1,2,3,另外的一次返回2,1,3). Limit限制的是从结果集的M位置处取出N条输出,其余抛弃. 方法2:建立主键或唯一索引, 利用索引(假设每页10条) 语句样式:MySQL中,可用如下方...转载 2020-07-08 16:05:24 · 288 阅读 · 0 评论 -
Spring Cloud @RefreshScope 原理是什么?
要清楚RefreshScope,先要了解ScopeScope(org.springframework.beans.factory.config.Scope)是Spring 2.0开始就有的核心的概念RefreshScope(org.springframework.cloud.context.scope.refresh)是spring cloud提供的一种特殊的scope实现,用来实现配置、实例热加载。Scope -> GenericScope -> RefreshScopei转载 2020-06-24 15:32:40 · 225 阅读 · 0 评论 -
Spring的异步编程冒险记
奇遇一 循环依赖异常看code:@Servicepublic class UserServiceImpl implements UserService { @Autowired UserService userService; @Override @Transactional(rollbackFor = Exception.class, pr...转载 2020-04-24 16:04:39 · 163 阅读 · 0 评论 -
关于线程池
ublic ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, ...原创 2020-01-14 17:45:46 · 107 阅读 · 0 评论 -
Spring中的InitializingBean接口的使用
InitializingBean接口为bean提供了初始化方法的方式,它只包括afterPropertiesSet方法,凡是继承该接口的类,在初始化bean的时候都会执行该方法。测试,如下:import org.springframework.beans.factory.InitializingBean;public class TestInitializingBean impl...原创 2020-01-13 17:50:49 · 87 阅读 · 0 评论 -
手动封装事务的简单工具类
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jdbc.datasource.DataSourceTransactionManager;import org.springframework.stereotype.Component;import org.sp...原创 2020-01-08 09:56:54 · 297 阅读 · 0 评论 -
使用RocketMq事务消息解决分布式事务
事务消息常见的事务处理方式有最终一致性,两阶段,XA,维护本地事务表等,而rocketmq消息中间件就是最终一致性的实现方式之一.rocketmq是怎么实现的呢?RocketMQ producer第一阶段发送Prepared消息时,会拿到消息的地址,第二阶段执行本地事物,第三阶段通过第一阶段拿到的地址去访问消息,并修改消息的状态,如果确认消息发送失败了,RocketMQ会定期扫描消息集群...原创 2020-01-06 16:29:18 · 228 阅读 · 0 评论 -
Java批量替换文件
import java.io.File;import java.io.FileFilter;import java.io.IOException;import java.nio.file.Files;import java.nio.file.Path;import java.util.*;public class Main { private static Set<S...原创 2019-12-05 22:33:42 · 195 阅读 · 0 评论 -
基于1.8的日期工具类
/** * ClassName SafDateUtil * Saf Date operation Util * A processing tool class for the local date time class in java1.8 * * @author wangyu * @version 1.0 * @date May 30, 2019 2:04:34 PM * @s...原创 2019-11-28 09:48:32 · 95 阅读 · 0 评论 -
基于easypoi的excel导出
近期做了一个报表导出的需求,想着easypoi的便捷性就记录一下。easypoi文档为:http://easypoi.mydoc.io/1.springboot+easypoi4.1.2 <dependency> <groupId>cn.afterturn</groupId> <artifac...原创 2019-11-26 11:11:48 · 557 阅读 · 0 评论 -
mybatis-generator反向工程
新建maven工程,以来如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schema...原创 2019-05-23 13:53:09 · 121 阅读 · 0 评论 -
分布式全局ID之雪花算法
public class IdWorker { private long workerId; private long datacenterId; private long sequence; public IdWorker(long workerId, long datacenterId, long sequence) { // sanity...原创 2019-02-28 10:11:31 · 255 阅读 · 0 评论 -
设计模式专题之单例模式
1.单例模式 恶汉式 特点:天生线程安全,效率高,但是不能延迟加载package com.wangyu;/** * 单例模式 恶汉式 * 特点:天生线程安全,效率高,但是不能延迟加载 * @author zjmiec * */public class SingletonDemo1 { // 类初始化立即加载 private static SingletonDemo1 ...原创 2018-12-06 14:59:50 · 172 阅读 · 0 评论 -
BigDecimalDemo 用法大全
package com.erp.sale.impl;import java.math.BigDecimal;import java.text.DecimalFormat;/** * 类说明 * * @author wangyu * @version 1.0 * @date $2018/10/24$ $16:23$ */public class BigDecimalDemo...原创 2018-10-31 11:36:43 · 293 阅读 · 0 评论 -
基于springboot实现注解形式的mybatis
1.首先是用到的两个工具类:package com.wangyu.utils;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMetaData;...原创 2018-11-21 10:23:43 · 208 阅读 · 0 评论 -
源码分析篇之手写springvc
1.先建立maven的web项目,结构如下2.在web.xml添加如下配置 <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>com.mayikt.aop.ExtDispatcherServlet</servlet-class> &...原创 2018-11-22 16:52:25 · 168 阅读 · 0 评论 -
dom4j读取xml文件
所需maven依赖:<!-- https://mvnrepository.com/artifact/dom4j/dom4j --> <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>原创 2018-11-23 10:08:01 · 120 阅读 · 0 评论 -
反射机制的工具类
package com.wangyu.extspring.annotation;import java.io.File;import java.io.FileFilter;import java.io.IOException;import java.net.JarURLConnection;import java.net.URL;import java.net.URLDecoder...转载 2018-11-23 15:23:15 · 176 阅读 · 0 评论 -
源码分析之手写ExtLinkedList
public class ExtLinkedList<E> { // 链表实际存储元素 private int size; // 第一个元素(头节点,为了查询) private Node first; // 最后一个元素(尾节点,为了添加) private Node last; // add public void add(E e) { Node node =...原创 2018-11-29 14:28:39 · 108 阅读 · 0 评论 -
全局ID之雪花算法
/** * Twitter_Snowflake<br> * SnowFlake的结构如下(每部分用-分开):<br> * 0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - * 000000000000 <br> * 1位标识,由于long基本类型在Java中是带符号...原创 2018-11-30 10:32:33 · 649 阅读 · 0 评论 -
源码分析之基于ArrayList手写HahMap(一)
import java.util.ArrayList;import java.util.List;/** * 基于arraylist实现hashmap集合(简版:效率低) * @author zjmiec * */public class ExtArrayListHashMap<Key, Value> { // map容器 List<Entry<K...原创 2018-11-30 15:08:58 · 126 阅读 · 0 评论 -
源码分析之手写ArrayList
public class ExtArrayList { // 底层采用数组存放 private Object[] elementData; // 数组默认容量 private static final int DEFAULT_CAPACITY = 10; // 实际arraylist长度 private int size; // 数组初始容量 public ExtArrayL...原创 2018-11-28 11:45:43 · 158 阅读 · 0 评论 -
源码分析之基于LinkedList手写HahMap(二)
package com.mayikt.extLinkedListHashMap;import java.util.LinkedList;import java.util.concurrent.ConcurrentHashMap;/** * 基於linkedList實現hashMap * * @author zjmiec * */@SuppressWarnings("unc...原创 2018-12-05 11:09:05 · 120 阅读 · 0 评论 -
源码分析之手写1.7HahMap(三)
public interface ExtMap<K, V> { // 向集合中插入数据 public V put(K k, V v); // 根据k 从Map集合中查询元素 public V get(K k); // 获取集合元素个数 public int size(); interface Entry<K, V> { K getKey();...原创 2018-12-06 10:04:38 · 170 阅读 · 0 评论 -
单元测试模版
package com.erp.sale.impl;import com.erp.domain.MiBbSoProjectBo;import com.erp.domain.MiOdBl;import com.erp.domain.MiOdBlItems;import com.erp.domain.bo.MiOdBlBo;import com.erp.domain.js...原创 2018-08-31 18:00:59 · 542 阅读 · 0 评论