![](https://img-blog.csdnimg.cn/fc55aec1ecda4400a3e0e854f6b81a6c.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
hello java hello word
Ocean@上源码
这个作者很懒,什么都没留下…
展开
-
Java CPU 飙升问题排查
1.找到飙升进程top2.找到飙升线程top -Hp 3.线程ID 16进制转换printf "%x\n" 4.查看线程快照jstack | grep -A40原创 2024-01-16 12:27:02 · 375 阅读 · 0 评论 -
Springboot jar包项目大瘦身
Springboot jar 项目瘦身 抽取公共jar,放入共享文件夹,引用共享文件夹中的jar。原创 2023-12-11 10:53:39 · 94 阅读 · 0 评论 -
java8 升级 java11
java8 升级 java11原创 2023-12-05 15:16:40 · 234 阅读 · 0 评论 -
java11 微信退款 No appropriate protocol
java11 微信退款 No appropriate protocol原创 2023-12-05 14:09:18 · 167 阅读 · 0 评论 -
Springboot 设置时区与日期格式
1.配置文件修改(范围修改)2.Java代码修改(范围修改)3. Java代码修改(局部修改)原创 2023-11-29 16:22:50 · 497 阅读 · 0 评论 -
Springboot SpringCloudAlibaba Nacos 项目搭建
Springboot SpringCloudAlibaba Nacos 项目搭建原创 2023-11-10 17:58:35 · 357 阅读 · 1 评论 -
ConcurrentHashMap vs Hashtable
1.ConcurrentHashMap 1.7ReentrantLock + Segment + HashEntry。 1.8CAS +synchronized + HashEntry + 红黑树。2.Hashtable 直接使用synchronized。原创 2023-10-30 15:54:02 · 37 阅读 · 0 评论 -
Mybatisplus 常用注解
@TableName @TableId @TableField @Version @EnumValue @TableLogic @OrderBy原创 2023-10-26 10:25:59 · 865 阅读 · 0 评论 -
Java 领域模型之失血、贫血、充血、胀血模型
失血模型仅仅包含数据的定义和getter/setter方法,业务逻辑和应用逻辑都放到服务层中。这种类在Java中叫POJO。贫血模型中包含了一些业务逻辑,但不包含依赖持久层的业务逻辑。这部分依赖于持久层的业务逻辑将会放到服务层中。充血模型中包含了所有的业务逻辑,包括依赖于持久层的业务逻辑。胀血模型就是把和业务逻辑不想关的其他应用逻辑(如授权、事务等)都放到领域模型中。原创 2023-10-19 10:18:40 · 290 阅读 · 1 评论 -
SpringCloudAlibaba SpringCloud SpringBoot 版本对照
由于 Spring Boot 3.0,Spring Boot 2.7~2.4 和 2.4 以下版本之间变化较大,目前企业级客户老项目相关 Spring Boot 版本仍停留在 Spring Boot 2.4 以下,为了同时满足存量用户和新用户不同需求,社区以 Spring Boot 3.0 和 2.4 分别为分界线,同时维护 2022.x、2021.x、2.2.x 三个分支迭代。如果不想跨分支升级,如需使用新特性,请升级为对应分支的新版本。 为了规避相关构建过程中的依赖冲突问题,我们建议可以通过 云原生应用原创 2023-10-14 16:39:04 · 643 阅读 · 0 评论 -
CopyOnWriteArrayList 入门浅析
CopyOnWriteArrayList适合读操作(无锁)频繁,写操作(加锁)较少的场景。CopyOnWriteArrayList线程安全,加锁的复制写操作导致效率低,同时内存占用高。CopyOnWriteArrayList的迭代器不支持增删改。原创 2023-10-13 09:57:37 · 58 阅读 · 0 评论 -
Easypoi 多sheet数据导入导出
easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板 语言(熟悉的表达式语法),完成以前复杂的写法。原创 2023-10-12 09:14:29 · 619 阅读 · 0 评论 -
普通项目转Maven项目
为了方便再开发中常常会采用复制粘贴的方式创建项目。在复制Maven项目时需要手动将项目加入Maven管理。原创 2023-11-12 11:24:12 · 514 阅读 · 0 评论 -
List 获取前N条数据
1.使用for循环遍历2.使用Stream API3.使用subList方法4.使用Apache Commons Collections原创 2023-09-14 17:30:19 · 1426 阅读 · 0 评论 -
SpringBoot 读取配置文件的值为 Infinity
SpringBoot 读取配置文件的值为 Infinity原创 2023-08-23 14:14:28 · 259 阅读 · 0 评论 -
List与String数组互转
List与String数组互转原创 2023-08-23 16:11:26 · 9528 阅读 · 0 评论 -
阿里Java异常、日志规约(来源阿里开发规范手册)
(一) 异常处理 (二) 日志规约原创 2023-07-09 16:31:01 · 651 阅读 · 0 评论 -
java 数据脱敏工具类
姓名、手机号、身份证号、银行卡号、邮箱脱敏原创 2023-07-09 09:50:04 · 1145 阅读 · 4 评论 -
Java 常用工具类
1.java.util.Collections 排序、最大值、最小值、转不开修改集合、转线程安全集合、空集合、二分查找....2.ApacheCollectionUtils 判空、合并集合【并集,交集...】3. com.google.common.collect.Lists创建集合、笛卡尔积、分页、流处理、逆序原创 2023-07-06 11:29:07 · 190 阅读 · 0 评论 -
Java 加解密工具类
一、对称加密算法DES、3DES、AES、DESX、Blowfish、RC4、RC5、RC6。二、非对称加密算法 RSA、DSA、ECC、Diffie-Hellman、El Gamal。三、散列算法MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1。原创 2023-07-02 15:43:24 · 3919 阅读 · 0 评论 -
Java 时间工具类
时间工具类原创 2023-07-01 12:44:02 · 412 阅读 · 0 评论 -
阿里Java工程规约(来源阿里开发规范手册)
一、应用分层二、分层领域模型原创 2023-05-14 10:46:07 · 637 阅读 · 0 评论 -
VO、QUERY、 BO 、DTO、 DO、POJO 详解
1.DO(Data Object)与数据库表结构对应,通过 DAO 层向上传输数据源对象。2.DTO(Data Transfer Object)数据传输对象,Service 和 Manager 向外传输的对象。3.BO(Business Object)业务对象。可以由 Service 层输出的封装业务逻辑的对象。4.QUERY数据查询对象,各层接收上层的查询请求。5.VO(View Object)显示层对象,通常是 Web 向模板渲染引擎层传输的对象。6.POJO(Plain Ordinary J原创 2023-05-11 11:31:32 · 665 阅读 · 0 评论 -
Java Jar包项目内存设置
1、默认占用内存1G;2、设置指定内存大小-Xms512M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M原创 2023-04-25 09:49:29 · 6585 阅读 · 0 评论 -
Java优雅停机 @上源码
日常上线重新发布项目时需要考虑服务是否还在对外提供服务,处理请求中,尤其是一些需要调用外部服务的项目尤其需要注意(如果下游服务没有做好幂等处理时会出现重复数据等脏数据问题),Java通常是通过钩子函数处理这个问题(Runtime.getRuntime().addShutdownHook())。原创 2021-09-15 22:52:47 · 261 阅读 · 0 评论 -
Java 图片中添加文字(水印)
自定义贺卡信息,发送水印文件。原创 2023-03-04 22:46:34 · 582 阅读 · 0 评论 -
Java 布隆过滤器
任何算法,任何经营收到的背后,都是时间效益 资源消耗 准确性的平衡(1天的时间 10元的投入 生产10个单位的产品,还是 0.6天的时间 6元的投入 生产9个单位的产品)k = m/n * ln2 【m是数组长度,n是插入的元素个数,k是hash函数的个数】2.逐个落点校验,每个落点位置都标记为1则元素可能存在,只要有一个落点标记为0则不存在。校验值是否存在(不存在一定不存在,存在可能不一定存在【有一定误差】)。你想要100%的准去性,还是99%的准确性附带较高的速度和较小的资源消耗。原创 2023-02-18 17:30:59 · 810 阅读 · 0 评论 -
URL特殊字符转义问题
URL拼接参数时可能会遇到一下特殊字符的情况,如果不做特殊处理再解析参数时会遇到问题。原创 2022-12-27 16:55:21 · 819 阅读 · 0 评论 -
java.security.InvalidKeyException: Illegal key size
当密钥长度大于128时会抛出java.security.InvalidKeyException: Illegal key size 异常. 因为密钥长度是受限制的, java运行时环境读到的是受限的policy文件. 文件位于${java_home}/jre/lib/security, 这种限制是因为。安装了JDK,将两个jar文件放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件。官网下载JCE无限制权限策略文件。美国对软件出口的控制。原创 2022-12-21 11:11:45 · 3639 阅读 · 0 评论 -
Java 获取真实请求IP
在使用Nginx或Apache等代理的情况下,需要Nginx或Apache代替客户端去访问服务器。当请求包经过反向代理后,在代理服务器这里这个IP数据包的IP包头做了修改,最终后端WEB服务器得到的数据包的头部源IP地址是代理服务器的IP地址。这样一来,后端服务器的程序就无法获取用户的真实ip。nginx中配置Apache有代理的情况:X-Real-IP 真实请求IP【Nginx中设置】X-Forwarded-For IP链,真实IP + , + 代理IP1.... + , + 代理IPNreq原创 2022-12-03 19:45:53 · 3797 阅读 · 0 评论 -
单体、分布式、 微服务架构发展
1)单体项目2)集群3)分布式项目4)微服务原创 2022-11-18 16:03:38 · 614 阅读 · 0 评论 -
跨域、跨域问题
跨域(CORS)是一种允许当前域(domain)的资源(比如html/js/web service)被其他域(domain)的脚本请求访问的机制,通常由于同域安全策略(the same-origin security policy)浏览器会禁止这种跨域请求。4)继承使用Spring Web的CorsFilter(适用于Spring MVC、Spring Boot)3)在需要跨域访问的类和方法中设置允许跨域访问(如Spring中使用@CrossOrigin注解);1)不同协议(http/https)原创 2022-09-20 10:49:02 · 425 阅读 · 0 评论 -
new Thread() 的危害
1)开销大每次new Thread() 都会创建新的对象,开销较大,无法复用增加垃圾回收的负担。2)管理困难每个newThread() 都是独立的个体,无法有效的管控,无限制创建相互竞争,可能导致oom或者核心业务线程阻塞。3)功能单一无法定时执行,中断线程等功能。原创 2022-09-07 08:58:30 · 5690 阅读 · 3 评论 -
开发常用语
滚动升级,就是在升级过程中,并不一下子启动所有新版本,是先启动一台新版本,再停止一台老版本,然后再启动一台新版本,再停止一台老版本,直到升级完成,这样的话,如果日常需要10台服务器,那么升级过程中也就只需要11台就行了。AB测试是为Web或App界面或流程制作两个(A/B)或多个(A/B/n)版本,在同一时间维度,分别让组成成分相同(相似)的访客群组(目标人群)随机的访问这些版本,收集各群组的用户体验数据和业务数据,最后分析、评估出最好版本,正式采用。环境等价(尽可能保持开发,预发布和生产环境的相似)原创 2022-08-21 15:43:23 · 357 阅读 · 0 评论 -
工作中常用代码【java搬砖小能手】
总结工作中的一些常用的方法希望大家一起完善,偶尔忘记了快速找到,【方便搬砖】。原创 2023-03-11 21:13:12 · 128 阅读 · 0 评论 -
if vs switch
可以使用 switch 命令的地方都可以使用 if 替换( switch可以支持int、byte、char、short,最后都会转化为int进行比较。jdk1.5后添加了对Enum类型的支持。jdk1.7后添加了对String类型的支持)。可以使用 if 的场景并不一定可以使用 switch (例如:if(a>1 && b < 3) 类似的多条件判读等)。原创 2022-08-12 11:01:48 · 437 阅读 · 0 评论 -
ApplicatioinRunner vs CommandLineRunner
程序在启动完成的时候可能需要去处理某些业务,Spring Boot程序中可以通过去实现CommandLineRunner和ApplicationRunner接口还完成该操作。原创 2022-08-07 14:32:43 · 187 阅读 · 0 评论 -
Java8 Caffeine 本地缓存
Caffeine 是一个高性能的本地缓存组件,脱胎与Google的Guava Cache(Guava Cache),常用来搭配 redis 搭配使用。原创 2022-07-31 08:56:33 · 484 阅读 · 0 评论 -
Java 服务启动脚本编写
java服务启动脚本编写原创 2022-07-28 15:02:15 · 264 阅读 · 0 评论 -
thymeleaf 登录页面
thymeleaf 登录页面原创 2022-04-18 13:56:10 · 2243 阅读 · 1 评论