Java
文章平均质量分 75
深入浅出地学习Java 和相关生态,助你成为更专业的杰出开发者,一起学习成长!
Coding宇航员
资深Java攻城狮,阿里D11守卫者。将我踩过的坑,化为你飞行的推进器。
也喜欢折腾 Python、C++、Js 等等,欢迎指教。
展开
-
官方解决 maven 上传jar包到中央仓库401
Maven 中央仓库重大不兼容更新!影响所有使用maven仓库的 Java 开发者!Sonnatype 账户体系迁移,导致向 maven 中央仓库发布jar包 401,之前的文档都失效,本文提供解决方案,简要说明原因。原创 2024-06-18 07:45:00 · 1242 阅读 · 3 评论 -
redisson连接错误 Unable to init enough connections amount Only 23 from 32 were initialized
RedisConnectionException: Unable to init enough connections amount Only 23 from 32 were initialized.Exception in thread "main" org.redisson.client.RedisConnectionException: Unable to init enough conn...原创 2019-01-19 12:31:07 · 37188 阅读 · 3 评论 -
解决nacos启动后一直打印ClientWorker日志
nacos启动后一直打印ClientWorker日志现象一直打印ClientWorker日志2020-08-24 00:57:30.977 INFO [12932] --- [.cn_8848-public] c.a.n.client.config.impl.ClientWorker : [fixed-nacos.itlym.cn_8848-public] [data-received] dataId=common.yml, group=DEFAULT_GROUP, tenant=public原创 2020-08-24 01:21:07 · 13477 阅读 · 6 评论 -
开源远程协助:分享屏幕,隔空协助!
星控可能是你闲暇时刻的一个小玩具,也可能是你日常工作的一大助手。不论怎样,希望它能给你带来帮助,同时也能激发你对技术探索的热情。🌟开源地址:https://github.com/ChinaLym/StarMonitor。原创 2024-05-28 07:15:00 · 478 阅读 · 0 评论 -
我把 Snowflakes 的算法性能提升了万倍!!
我把 Snowflakes 的算法性能提升了万倍全局 id 生成器,老生常谈的雪花算法,看了一下网上的实现,基本都是类似这种(仅举例)class SnowFlakeIdGenerator { /** * 起始的时间戳(a special day for me) */ private final static long START_STAMP = 1555776000000L; /** * 每一部分占用的位数 */ private原创 2020-10-23 02:52:02 · 508 阅读 · 0 评论 -
create from archetype 很慢
create from archetype 很慢通过 Intellij IDEA 新建 maven 工程时,勾选 create from archetype 不管选哪个 archetype ,创建后加载都很慢。原因根据 archetype 创建 maven 工程时,每次去请求 http://repo1.maven.org/maven2/archetype-catalog.xml,这个文件有 9.52M,网速不好情况下,下载非常耗时,如果是10kb/s的网速单下载这个文件就需要 15分钟。解决思路从原创 2020-10-08 01:05:05 · 3532 阅读 · 0 评论 -
StackoverflowError Spring Security Oauth clientDetailsService
StackoverflowError Spring Security Oauth clientDetailsService背景在使用 Spring security oauth 的认证服务器时,出现了 StackoverflowError 错误错误信息如下java.lang.StackOverflowError: null at java.lang.ReflectiveOperationException.<init>(Unknown Source) ~[na:1.8.0_45原创 2020-10-04 02:05:11 · 1786 阅读 · 2 评论 -
注解 和 xml 比较
一句话总结优先注解不易发生变动 配置。优先配置文件易变更、第三方、环境相关 配置。优先考虑 注解:类级别的配置一般不会变动的依赖关系,如 service 和对应 dao其他不容易变更的配置优先考虑 配置文件:第三方的类(只能用配置文件形式)数据库、消息队列、redis 等中间件 或 基础环境依赖 组件配置线程池、定时任务、日志等个性化的项理由合理使用注解,...原创 2020-08-09 16:19:02 · 629 阅读 · 0 评论 -
OpenJdk 下载jdk源码
OpenJdk 下载jdk源码打开自己 %JAVA_HOME% 目录,查看 release 文件最后一行的源码版本号,如下IMPLEMENTOR="Oracle Corporation"IMPLEMENTOR_VERSION="18.9"JAVA_VERSION="11"JAVA_VERSION_DATE="2018-09-25"MODULES="java.base java.compiler java.datatransfer java.xml java.prefs java.desktop原创 2020-08-09 15:29:47 · 344 阅读 · 0 评论 -
只有一个jar如何发布到中央仓库
maven将jar发布到中央仓库发布一个已有的 jar可以只有 jar,没有 pom.xml,使用以下命令发布mvn deploy:deploy-file -DgroupId=cn.itlym -DartifactId=shoulder-lombok -Dversion=0.0.1 -Dpackaging=jar -Dfile=shoulder-lombok-0.0.1.jar -Durl=https://oss.sonatype.org/service/local/staging/deploy/m原创 2020-07-21 01:09:56 · 349 阅读 · 0 评论 -
Srping源码学习
Spring源码解析之ApplicationContext,主要内容是介绍Spring上下文初始化时的一些主要步骤Spring源码解析之默认标签的解析,主要内容是<bean/>、<beans/>、<import/>、<alias/>四个默认标签的解析过程Spring源码解析之自定义标签的解析,主要内容是除了默认标签外其他自定义标签的解析过程Sp...转载 2020-07-14 19:06:57 · 116 阅读 · 0 评论 -
JVM源码入门-目录结构
准备了解一下 JVM 源码,大概整理了下目录轻量级版本├─agent Serviceability Agent的客户端实现├─make 用来build出HotSpot的各种配置文件├─src HotSpot VM的源代码│...原创 2020-07-14 19:06:21 · 660 阅读 · 1 评论 -
Eureka 三级缓存简单介绍
三级缓存是什么一级缓存(注册表)(ConcurrentHashMap)二级缓存(ReadWriteMap)guava三级缓存(ReadOnlyMap)guava注册一个服务实例向注册表中写入服务实例信息,并使得二级缓存失效寻找一个服务从三级缓存中找,如果有则返回,如果没有则去二级缓存拿并更新,如果二级缓存已经失效,触发guava的回调函数从注册表中同步。数据同步定时器每 30s 从二级缓存向三级缓存同步数据二级缓存有效从二级缓存向三级缓存同步数据二级缓存失效触发二级缓存的原创 2020-06-08 22:01:07 · 4636 阅读 · 0 评论 -
maven 插件开发报错 maven-plugin-plugin:3.2:descriptor fai
maven 插件错误 Execution default-descriptor of goal org.apache.maven.plugins:maven-plugin-plugin:3.2:descriptor failed在编写maven插件时发生如上错误。解决方案在 pom.xml 中显示指定 maven-plugin-plugin 的版本号<build> <plugins> <plugin>原创 2020-06-08 17:01:32 · 4060 阅读 · 0 评论 -
手写分布式爬虫框架
目录分布式爬虫框架 Demo起因弊端目标用最简单的代码实现一个爬虫建立爬虫模型(接口)使用集群,异构需要改动的点分布式后语分布式爬虫框架 Demo记录用Java开发一个简单的分布式爬虫框架,从最开始的十几行代码到开发一个支持集群、分布式的爬虫框架。代码地址:单机版本 分布式版本起因在训练智能问答机器人的模型时,缺少模型数据,决定使用爬虫进行。当前每天的生活如下:写一个爬虫抓数据训练模型查看训练结果弊端单线程爬虫太慢了,没法充分利用计算资源,亟需性能提升。目标网站经常变更,势原创 2020-06-06 18:44:40 · 660 阅读 · 0 评论 -
Java 加密扩展 Bouncy Castle
jdk 对一些加密算法仅提供了默认实现,如果想使用其他的加密算法和更多种类,需要使用第三方的加密算法,如使用 Bouncy Castle 扩展jdk的加密方案扩展包介绍 https://blog.csdn.net/andychuen/article/details/86748255ECC https://www.cnblogs.com/10zhang/p/9381897.htmlJava...原创 2020-05-13 19:27:25 · 501 阅读 · 0 评论 -
Swagger3 注解使用(Open API 3)
swagger 3 的使用Swagger2(基于openApi3)已经在17年停止维护了,取而代之的是 sagger3(基于openApi3),而国内几乎没有 sagger3使用的文档,百度搜出来的都是swagger2的使用,这篇文章将介绍如何在 java 中使用 openApi3(swagger3)。相关介绍Open APIOpenApi是业界真正的 api 文档标准,其是由 Swagg...原创 2020-04-06 17:55:16 · 102949 阅读 · 18 评论 -
spring security 5 oauth2认证服务器开发
原文地址spring security 相关技术选型:由于 spring security 使用广度不及 spring boot,且 spring 这两年废弃了许多项目,spring 的术语和称呼都有一些改变。网上看到的一些教程大多是过时的,2019年之前的文章、教程大都跟不上最新的潮流,2019的文章和教程大部分又是转载的前几年的,因此需要看 spring 官方文档。由于 spring ...原创 2020-02-05 11:35:19 · 14494 阅读 · 4 评论 -
onApplicationEvent调用了2次,3次,多次
onApplicationEvent调用了2次,3次,多次 解决方案首先,被执行这么多次,肯定是自己配置的问题,我以spring boot为例来说我也遇到了执行三次,排查后发现一个是spring boot的,另外两个是自己配的,所以才导致三次,理论上可以导致n次的三个事件源分别为:spring boot 自带的注解形式上下文(解析所有通过开放端口发来的请求)org.springfra...原创 2019-10-12 10:55:32 · 4548 阅读 · 0 评论 -
Eureka 启动报错 freemarker.core.InvalidReferenceException
学习 Eureka时候报错freemarker.core.InvalidReferenceException: The following has evaluated to null or missing:==> replica.key [in template “eureka/navbar.ftl” at line 68, column 62]部署完毕之后这样错误 applic...原创 2019-07-21 11:04:27 · 727 阅读 · 0 评论 -
spring cloud 官方文档如何阅读
spring cloud官网https://spring.io/projects/spring-cloud#learn看所学版本的文档如 https://cloud.spring.io/spring-cloud-static/Greenwich.SR2/single/spring-cloud.html查文档技巧:如想知道XXX,是什么、怎么用,ctrl + F 搜索how to inc...原创 2019-07-21 12:01:50 · 1695 阅读 · 0 评论 -
SpringCloud Ribbon java.net.UnknownHostException 解决方案
学习Ribbon时报错使用了eureka、服务间通过Ribbon调用,Ribbon端报下列异常java.net.UnknownHostException: USER说明ribbon不认识这个服务,首先查看eureka上是否有,经查看,存在该服务。解决方案在restTemplate上添加两个注解 @RibbonClient(“USER”)、@LoadBalanced。缺一不可@Confi...原创 2019-07-21 12:09:15 · 3279 阅读 · 1 评论 -
Spring Cloud 项目入门
Spring Cloud 项目关键点文章目录Spring Cloud 项目关键点父 pom.xmleureka-serverpom.xmlapplication.ymlcodeService-Provider : USERpom.xmlapplication.ymlcodeService-Consumer: ORDERpom.xmlapplication.ymlcode更多 ...Service...原创 2019-07-21 18:32:00 · 445 阅读 · 0 评论 -
19位UUID
package com.lym.order.util;import java.util.Base64;import java.util.HashMap;import java.util.Map;import java.util.UUID;public class Numbers { final static char[] digits = { '0', '1...原创 2019-08-04 16:23:40 · 2547 阅读 · 2 评论 -
IDEA阅读源码常用快捷键
ctrl + e 查看最近打开的文件caps + tab 同样也是查看最近打开的文件ctrl + { 返回上一步编辑获取鼠标停留的位置ctrl + } 返回下一步编辑获取鼠标停留的位置阅读源码最重要的几个功能:1:查看某方法被哪些地方调用:ctrl + g2:查看某方法的调用树:Ctrl+Alt+H3:查看某个类被某些地方调用(不包括实现的接口):ctrl + T4:查看某个类的...转载 2019-08-28 19:15:31 · 1216 阅读 · 0 评论 -
spring boot yaml 配置文件加密
spring 配置文件加密继承 PropertyPlaceholderConfigurer 类,重写其父类 PropertyResourceConfigurer 中的covertXXX方法。convertProperties 方法在读取完毕所有配置信息后调用convertProperty(String propertyName, String propertyValue) 方法在读取每个配...原创 2019-09-04 20:24:19 · 3347 阅读 · 3 评论 -
22位压缩版UUID
package com.lym.order.util;import javax.xml.crypto.Data;import java.util.Base64;import java.util.Date;import java.util.UUID;/** * 22 位UUID 生成器 * 性能:i7-8750h 100w次生成耗时 2s 左右 * /public class ...原创 2019-09-05 09:34:46 · 1082 阅读 · 0 评论 -
数据库事务总结
ACID原子性:不可分割一致性:数据不被破坏(失败则会还原)隔离性:多种隔离级别,级别越高,一致性越强,并发越差持久性:事务成功,数据必须被持久化最终目标:一致性并发问题脏读:A事务读取B事务未提交的更改数据,并在这个数据基础上进行操作。不可重复读:同一事务中读到的同一数据不一致(其他事务并发修改or删除该数据提交)。幻读:同一事务中读到的同一数据不一致(其他事务新增数据提...原创 2019-09-09 20:24:56 · 124 阅读 · 0 评论 -
Java 环境搭建
开发环境搭建所需软件与下载连接本文记录开发环境所需的基本软件的下载连接,以便新的环境使用,收藏作为工具使用,其中连接均为官方链接。文章目录开发环境搭建所需软件与下载连接语言环境Java 11python编码环境IDEANotePad++开发工具GitMavenGradle数据库postgresqlMysql聊天软件 & 通信TIM (简易版QQ)QQWeChat 微信其他Everyth...原创 2019-09-15 00:59:23 · 140 阅读 · 0 评论 -
图片上传 Base64 编码解码转换
/** * @Description: 将base64编码字符串转换为图片,BASE64Decoder是线程不安全类 * @param imgStr base64编码字符串 * @param path 图片路径-具体到文件 * @return*/public static boolean generateImage(String imgStr, String path) { if ...原创 2019-09-15 19:52:14 · 516 阅读 · 0 评论 -
DelayQueue讲解
DelayQueue 是一个带延时功能的阻塞队列,可以通过它轻松的实现定时任务、延时任务,比如重试、异步提醒、定时通知等等。那DelayQueue为何有这样的能力?他是如何做的呢?原创 2019-10-06 22:50:47 · 459 阅读 · 1 评论 -
为什么面试要求看过源码——案例:由于设计不当导致线程池execute方法抛异常
问题描述我写了一个线程池和延迟任务工具类,正常使用中,突然一天同事告诉我:你的代码阻塞启动了,快去看看!问题背景线程池是使用的内部框架中提供的,使用者的注入写法也是框架给的,其实本质上是JDK的 ThreadPoolExcute,我能决定的几乎只是对线程的命名。之前一直是可以运行的,发生问题的某一天我的电脑上可以正常启动,而其他同事的电脑上则无法启动web容器(IllegalStateEx...原创 2019-10-11 10:37:52 · 230 阅读 · 1 评论 -
JDK9你还在一直用StringBuilder的append?
占坑等催更。序幕:String类在JDK9中有较大的改变,有兴趣的自己看。JDK9以前用的是StringBuilder来拼接的,而JDK9开始使用了invokeDynamic指令,可以动态指定要调用的方法,而不是一开始就编译好的。JDK9以拼接会创建新的对象,JDK9之后拼接静态字符串则不会。占坑等催更。...原创 2019-05-31 16:41:14 · 973 阅读 · 2 评论 -
BeanUtils.copyProperties 出错
注意:属性复制,不同jar中的方法,用法不一样!Spring 包(org.springframework.beans)中BeanUtils.copyProperties(A,B);是A中的值赋值给BApache 包(org.apache.commons.beanutils)中(常用)BeanUtils.copyProperties(A,B);是B中的值赋值给A原文:https://...转载 2019-05-03 23:26:23 · 766 阅读 · 0 评论 -
java远程监控(附源码)
贴一个初学Java GUI 时的一个demo,远程监控系统。源码在底部。加载动画求助方高级设置协助方源码和详细介绍原创 2019-01-20 17:57:30 · 1815 阅读 · 0 评论 -
fescar简介
分布式事务的解决方案主要分为以下几类全局事务(强一致性)基于可靠消息服务(消息队列)TCC (Try Commit Cancel)最大努力通知(衰减重试+对账 | 掉单查询 | 人为干预)FESCARFESCAR是阿里最近开源的一个分布式事务中间件:(全称: Fast & EaSy Commit And Rollback)阿里github地址案例地址wiki中文地址...原创 2019-01-18 23:09:59 · 817 阅读 · 0 评论 -
springboot websocket
springboot中怎么使用websocket其实使用方法网上有很多,但搞不懂这些人为什么手写冗余计数代码,而且加锁粒度还这么大,直接进入正题。本文适合读者:会搭建springboot web 项目,会使用maven。springboot相比spring而言所需配置少很多,废话不多说,代码如下首先websocket所需pom如下: <dependency...原创 2018-12-18 16:10:30 · 1736 阅读 · 15 评论 -
Java web框架
Java web框架综述摘要:在本文中,我将Web设计框架作为一种抽象概念,尽可能复用Web应用程序。 这篇文章先讨论了构造抽象和定向设计结构复用的必要性,并用不同类型的Web信息系统进行论证。其次说明Hibernate作为一种独特且结构良好的框...翻译 2018-12-28 15:46:32 · 1593 阅读 · 1 评论 -
ConcurrentHashMap源码分析,轻取面试Offer(三)
没看过前面的推荐先看前面,ConcurrentHashMap源码分析,轻取面试Offer(一)ConcurrentHashMap源码分析,轻取面试Offer(二)上一篇我们引出了addCount这个函数,简单分析了它做的事情,但还有很多事情我们不知道呢,下面继续讲解先来看一下注释过的函数/** * Adds to count, and if table is too...原创 2018-12-01 20:26:59 · 288 阅读 · 0 评论 -
ConcurrentHashMap源码分析,轻取面试Offer(二)
上篇ConcurrentHashMap源码分析,轻取面试Offer(一)中降到了看源码的方法,下面接上篇继续分析源码先来上篇注释过的代码段和遗留的问题。final V putVal(K key, V value, boolean onlyIfAbsent) { //ConcurrentHashMap中key和value都不允许为空 if (key =...原创 2018-12-01 17:53:09 · 519 阅读 · 0 评论