
java
SugarPPig
半躺主义者
展开
-
多线程安全的编号生成器
多线程 编号 流水号 不重复 唯一原创 2024-01-31 14:56:02 · 324 阅读 · 0 评论 -
异构微服务远程调用如何打jar包
异构微服务系统 远程调用 包含资源打包原创 2024-01-09 14:34:56 · 925 阅读 · 0 评论 -
将SQL语句、参数、结果输出到控制台和DEBUG日志文件
【代码】springboot 将SQL语句、参数、结果输出到控制台和DEBUG日志文件原创 2024-01-09 10:23:43 · 677 阅读 · 0 评论 -
logback中的logger和root
logback logger root原创 2023-12-29 09:17:58 · 2172 阅读 · 0 评论 -
log4j2 与 logback 条件判断
【代码】log4j2 与 logback 条件判断。原创 2023-12-18 18:08:25 · 982 阅读 · 0 评论 -
Mybatis 与 Java 数据类型对应关系表
数据类型对应关系表。原创 2023-12-01 14:56:25 · 971 阅读 · 0 评论 -
Spring源码中的命名风格总结
命名风格原创 2023-10-08 11:21:19 · 553 阅读 · 0 评论 -
通过示例说明 Maven 中的 scope 规则
通过明确指定依赖项的 scope 规则,可以使项目更加清晰和可维护。原创 2023-05-05 11:17:27 · 158 阅读 · 0 评论 -
将 Unicode 编码替换成汉字
使用 Java 语言中的正则表达式和字符串替换方法实现转换原创 2023-05-04 19:04:34 · 844 阅读 · 0 评论 -
Java 实现 MQTT 协议收发消息
【代码】Java 实现 MQTT 协议收发消息。原创 2023-03-23 19:05:05 · 1331 阅读 · 0 评论 -
使用 Java 多线程进行文件压缩
Java 多线程进行文件压缩原创 2023-01-31 20:13:10 · 2186 阅读 · 0 评论 -
Java线程:创建多少线程才是合适的?
Java多线程实战,创建多少线程才是合适的?原创 2022-12-28 19:30:37 · 4556 阅读 · 0 评论 -
Bean生命周期流程图
原创 2022-02-10 19:02:48 · 286 阅读 · 0 评论 -
后端传到前端的变量名大小写出问题
用户ID在后端的变量名为 uId,前端接收时变为了 uid,同时使用注解 @JsonProperty 和 @JSONField 解决,如果不同时使用会出现前端同时接收到 uId 和 uid 两个变量名。@Datapublic class UserInfo { /** * 用户ID */ @JsonProperty("uId") @JSONField(name = "uId") private String uId; /** * 用户所属公司原创 2021-11-23 21:25:17 · 763 阅读 · 0 评论 -
【JVM调优】知识点汇总
1. ClassFileFormat查看16进制格式的ClassFileSublime / notepadIDEA插件 - BinEd观察ByteCode的方法javapJBE - 可以直接修改JClassLib - IDEA插件之一2. 类加载-初始化加载过程Loading - 加载LinkingVerification - 校验Preparation - class静态变量赋默认值Resolution - 符号引用转为能直接访问的内容Initial原创 2020-12-28 15:35:21 · 444 阅读 · 0 评论 -
【设计模式】JAVA版汇总
七大原则指导思想可维护性 Maintainability– 修改功能,需要改动的地方越少,可维护性就越好可复用性 Reusability– 代码可以被以后重复使用– 写出自己总结的类库可扩展性 Extensibility/Scalability– 添加功能无需修改原来代码灵活性 Flexibility/Mobility/Adaptability– 代码接口可以灵活调用原则阐述开闭原则(总纲,对扩展开放,对修改关闭)对扩展开放,对修改关闭在尽量不修改原来代码的情况下进行扩原创 2020-12-11 16:53:13 · 166 阅读 · 0 评论 -
Double类型丢失精度的两种解决方案
继续使用Double类型其实只要在计算时使用封装的工具类,继续使用Double类型精度也不会丢失;转换为BigDecimal时,构造函数采用String那一个。package com.sugarppig.general.utils;import com.sugarppig.common.exception.GeneralException;import java.math.BigDecimal;import java.math.RoundingMode;import java.util.Arr原创 2020-12-10 13:09:31 · 2420 阅读 · 1 评论 -
【多线程与高并发】知识点汇总
线程的概念、启动方式、常用方法 继承Thread 实现Runnable接口 实现Callable接口 synchronized(Object) - 不能用String、常量、Integer、Long- "object" 线程同步 - synchronized 锁的是对象不是代码 this、XX.class 锁定方法、非锁定方法可同时执行 锁升级 - 偏向锁、自旋锁、重量级锁偏向锁:没有...原创 2020-11-22 23:08:45 · 319 阅读 · 4 评论 -
ArrayList循环遍历并删除元素
不要使用ArrayList的remove,应使用Iterator的remove Iterator<Integer> it = list.iterator(); while (it.hasNext()) { Integer i = it.next(); if (i == 1) { it.remove(); }原创 2020-11-17 18:19:11 · 182 阅读 · 0 评论 -
pagehelper分页属性获取,对分页后数据再次拼装
@Override public PageInfo<CommissionHouseSummryDto> getCommissionHouseSummry(CommissionCalcCondition commissionCalcCondition) { commissionCalcCondition.doPage(); List<CommissionHouseInfo> pageSignHouse = commis...原创 2020-11-08 17:52:24 · 1661 阅读 · 0 评论 -
Springboot的Service层测试
当需要对service层某个方法进行单独调试,但使用postman或者swagger很麻烦时,可以采用单元测试。package com.zh.sugarppig.service.frock;import .../** * @author SugarPPig * @date 2020-08-28 11:00 * @decription 工装审批接口 */public interface FrockApprovalService { /** * 审批列表 *原创 2020-08-28 13:49:21 · 2017 阅读 · 0 评论 -
自己搭建maven私服
一、目的需求场景,比如说开发团队需要将公共工具包上传到maven私服,统一更新、管理,大家随用随取。二、模拟环境mac:10.14.4 (18E227)VMware Fusion:专业版 11.5.0 (14634996)虚拟机:centos7docker:17.09.0-ceNexus:3.25.0-03在mac上用VMware安装了一个centos7系统,centos7里安装了docker;如果需要在公司局域网以外使用,部署到云服务上就行,原理不变。三、步骤1、默原创 2020-08-05 11:33:19 · 595 阅读 · 0 评论 -
利用异常链进行精准调试
public class ExceptionChain { public static void main(String[] args) { try { aa(); } catch (Exception e) { e.printStackTrace(); } } public static void aa() { try { bb(); .原创 2020-07-24 11:56:04 · 171 阅读 · 0 评论 -
手动在命令行使用maven打包jar报错
使用 idea 打包一切正常,手动在命令行使用命令打包就报错,最后查出问题出在项目的maven配置上。在 spider 项目目录下执行 :mvn clean install -Dmaven.test.skip=true报错信息:[ERROR] Failed to execute goal on project spider: Could not resolve dependen...原创 2020-04-14 16:32:51 · 634 阅读 · 0 评论 -
【java基础】使用字节流、客户端读取图片发送至服务端保存
import java.io.BufferedInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;public class MyServ...原创 2019-11-12 11:53:34 · 281 阅读 · 0 评论 -
【java基础】队列Queue按行打印二叉树
package main.java.Tree;import java.util.*;public class BTree<T> { public Node<T> root = null; public BTree() { } public BTree(Comparator<T> c) { comp...原创 2019-11-11 17:43:11 · 274 阅读 · 0 评论 -
【java基础】hashcode的数据库用处
package main.java.core;public class Product { private int ProdID; private String ProdName; public Product(int prodID, String prodName) { ProdID = prodID; ProdName = pro...原创 2019-11-11 16:11:09 · 287 阅读 · 0 评论 -
【java基础】线程不安全、代码块、同步代码块、对象锁
多线程打印时会出现数据混乱,即使使用 Vector、Collections.synchronizedList 也会出现线程不安全的情况。{ int b=3; { b=3; // 子块可以访问父块的变量,但在外部是访问不到的。 System.out.println(b);...原创 2019-11-11 15:08:20 · 167 阅读 · 0 评论 -
【java基础】ArrayList、LinkedList
一、ArrayList通过源码知道,ArrayList 其实就是一个老外帮我们写的蛮牛逼的一个 Object[] 的操作。插入/删除一个元素就是:1、重新确定数组长度2、重新产生一个数组(数组长度是不可变的,因此通过copy的方式)因此ArrayList 通过索引等,取或者改内容比较快。插入和删除比较慢。二、LinkedListLinkedList 就是数据结构中...原创 2019-11-11 14:42:20 · 171 阅读 · 0 评论 -
mybatis 使用 pageHelper 实现一对多分页
mybatis 中直接使用collection 进行一对多关联查询,会造成pageHelper 分页出错,数据会少很多。简单一点的解决办法是使用子查询: <select id="listCustomer" resultMap="PageCustomerItemDtoResultMap"> select c.id fro...原创 2019-11-05 18:34:32 · 758 阅读 · 0 评论 -
### Cause: java.sql.SQLException: The user specified as a definer ('root'@'%') does not exist
在 mysql 里运行如下两句命令grant all privileges on *.* to root@"%" identified by ".";flush privileges;然后 java 程序即可正常运行原创 2019-10-31 17:59:29 · 480 阅读 · 0 评论 -
java 查询出来的数据和直接在 mysql 里查出来的数据不一致
以 spring boot 为例,一般这种情况是代码里的 mysql 和 本地运行的 mysql 不一致造成的。需要确认下application-dev.properties 文件,spring.datasource.url 属性 mysql 的地址。...原创 2019-10-31 14:14:18 · 1470 阅读 · 0 评论 -
mybatis sql 语句配置 符号不兼容 大于号 小于号等
在 mybatis 中对sql语句中涉及到大于号,小于号,如何操作:方法一、将其放入到<![CDATA[ ]]>标签中<![CDATA[ and mm.ttime > to_date(#{startDateTime},'yyyy-mm-dd hh24:mi:ss') and mm.ttime <= to_date(#{e...原创 2019-10-18 16:47:49 · 276 阅读 · 0 评论 -
Mac下用 mybatis-generator targetProject 找不到路径问题
targetProject=".\src">改为targetProject="./src">原创 2019-10-15 18:58:08 · 380 阅读 · 0 评论 -
Failed to create parent directories for [/data/logs/xxl-job/xxl-job-admin.log]
java 日志文件创建失败,linux 或 mac 系统权限问题sudo chmod -R 777 /data原创 2019-10-15 15:24:12 · 8853 阅读 · 3 评论 -
maven import 失败
2019-10-15 14:21:14,993 [ 428045] ERROR - #org.jetbrains.idea.maven - com.google.inject.CreationException: Unable to create injector, see the following errors:1) No implementation for org.apa...原创 2019-10-15 14:34:57 · 363 阅读 · 0 评论 -
JDK 12 没有 jre 目录
cd /usr/local/jdk-12.0.2.jdk/Contents/Home./bin/jlink --module-path jmods --add-modules java.desktop --output jre #生成jre在Home目录下原创 2019-10-14 11:57:38 · 218 阅读 · 0 评论 -
【java基础】IO流
原创 2019-10-14 08:54:57 · 133 阅读 · 0 评论 -
【java基础】修饰符的作用域及可见性
不管是在类、变量、方法(所谓的函数)前面都可以加上修饰符 class 前面可以加上 public 、abstract、final、friendly、缺省值成员变量可以加 public、private、protected、friendly、final、static 、transient 、volatile 、缺省值方法可以加 public、private、protected、final,st...原创 2019-10-11 10:58:54 · 257 阅读 · 1 评论