自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(108)
  • 资源 (1)
  • 收藏
  • 关注

原创 MySQL tinyint(1) 、int(32) 与 varchar(255) 长度含义不同

MySQL tinyint(1) 、int(32) 与 varchar(255) 长度含义不同

2023-02-24 17:44:53 1146

原创 JAVA1.8阅读String类源码心得体会

JAVA1.8阅读String类源码心得体会前几天在二面某大厂的时候被问到String类的问题,没有回答上来。所以回来恶补了一下String类的源码。确实阅读源码感受到了设计者代码的优雅和巧妙,在此记录一下自己印象比较深刻的心得体会。equals()用来判断两个字符串是否相等,这里使用了很巧妙的判断逻辑,来尽量节省时间。首先判断待比较的对象是不是自己本身,然后判断和待比较对象是不是同一个类...

2019-09-05 16:37:08 154

原创 响应式编程上下文

方案1:使用ThreadLocal,但是这会有个缺点,在我们自定义线程池的时候,在调度的时候几个订阅关系可能会共用一个线程池,故不同订阅关系之间可能会由于ThreadLocal而产生数据泄露。这种情况会带来一个问题,若存在这么一种情况:我们需要在线程的上下文中存储一些对象数据,方便我们在整个执行的过程中使用他们,在生命周期结束的时候将存储的数据进行销毁。所以我们该如何存储呢?Mono.deferContextual(c-> c.get(key)):获得Context中指定Key对应的Value值。

2024-02-21 17:05:47 832

原创 【gradle】通过 toml 管理 classifier 的写法

toml,gradle,java

2023-11-15 19:44:45 203

原创 如何复制本地文件到 docker 容器

【代码】如何复制本地文件到 docker 容器。

2023-05-18 21:16:17 171

原创 基于 debian 发行版本的密码设置策略

需要安装 pam 扩展包 libpam-pwquality 或 libpam-cracklib。安装成功后 /etc/pam.d/common-password 文件会新增一行配置策略。自动登出策略已经设置了 5m ,来自配置文件 /etc/ssh/sshd_config。修改 /etc/pam.d/common-password 的配置策略。以三级等保的要求为例,要求如下(如值为 -1 代表不限制)修改 /etc/login.defs 中的选项。我们将该值改为 90。

2023-05-17 21:07:14 2838

原创 MySQL 查询优化深度分页

深度分页优化,mysql查询优化,数据库优化

2023-03-22 17:19:08 119

原创 Java 读取本地txt文件

普通方式和行为参数化方式public class ProcessFileDemo { public static void main(String[] args) throws IOException { String line = processFile(); System.out.println("readline "+line); String lambdaLine = processFileLambda((BufferedReader br

2022-03-17 17:04:51 2489

原创 ES 创建索引Template

{ "mappings": { "properties": { "complexLabelId": { "type": "integer" }, "createTime": { "type": "date", "format": "yyyy-MM-dd HH:mm:ss" },

2022-03-03 17:33:31 1058

原创 【Docker】镜像地址改为国内

选择 docker-engine输入这段:“registry-mirrors”:[ “https://registry.docker-cn.com” ]{ "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, "features": { "buildkit": true }, "experimental": false, "registry

2022-03-03 11:32:40 337

原创 单例 vs 依赖注入

先说结论看了几篇文章,我个人对依赖注入的理解是,依赖注入更擅长解决一个 ”引用传递“ 的问题;对单例的理解是,如果某类被许多类引用,且是一个比较稳定的变量不需要逐层传递,则使用单例更好;单例模式单例是一种设计模式,它表示在整个应用程序的声明周期中,某个类只有一个实例。单例模式的典型实现如下:public class BankGateway { public static BankGateway Instance = new BankGateway(); private Bank

2022-02-08 16:41:58 1313

原创 git找回服务端分支

本地分支和服务端分支都被删除了,在此情况下根据提交信息恢复服务端分支根据 commit id 创建本地分支可以根据 git log 命令或其他方式找回 commit id然后 通过 git branch {branch-name} {commit-id} 命令 根据commit id 创建本地代码分支如:git branch recover_video_bucket 9e7fae6f257e3edbc7e504be33a81d3bd0fas此时本地会成功创建一个代码分支名为 recover

2021-10-22 11:19:42 150

转载 取得inputStream的长度

网络文件URL url = new URL(strUrl);HttpURLConnection httpconn = (HttpURLConnection)url.openConnection(); httpconn.getContentLength();本地文件InputStream inputStream = urlCon.getInputStream();inputStream.available();

2021-03-10 21:29:59 5759

原创 k8s命令行操作

1)控制台输出较少日志kubectl logs b612-engine-789dd998bf-wvvvm -c b612-engine | less -R2)输入/ 向下搜索,输入?向上搜索3)B 向前backN 向后nextshift + F 向后翻页shift + B 向前翻页

2021-03-04 14:16:05 565 1

原创 git切换远程分支为develop

git切换远程分支为developgit push --set-upstream origin 分支名git push --set-upstream origin develop

2021-02-05 15:52:32 1159

原创 JAVA Bean转换为MAP,兼容@JsonProperty

public static <T> Map<String, Object> bean2Map(Object object) { Map<String,Object> maps = new HashMap<>(); try{ Field[] fields = object.getClass().getDeclaredFields(); if (fields!=null &&a

2021-01-16 11:49:06 593 7

原创 idea小技巧

转自:https://blog.csdn.net/linsongbin1/article/details/80211919

2021-01-08 10:24:53 78

原创 git本地未提交代码找回

1.git stash list查看暂存列表,最近的一次暂存是stash@{0}。(查看暂存修改内容git show stash@{0})2.git stash apply stash@{0} 取出暂存号为stash@{0}的代码。即git stash apply xxxx(暂存号)参考:https://www.cnblogs.com/liuyongfa/p/13995329.htmlhttps://www.cnblogs.com/xzdm/p/11064514.html...

2021-01-07 11:44:02 3378

原创 stream操作符demo

public class TransMain { public static void main(String[] args) { Set<String> set = Set.of("lilei","hanmeimei","michael","kangkang","jane","liulei"); Stream<String> stream = set.stream(); stream.filter(s -> s.l

2020-11-27 18:12:48 98

原创 函数式编程与接口的对比

函数式编程与接口实现的对比lambda表达式表达的是接口函数,箭头左侧是函数参数,箭头右侧是函数体。函数的参数类型和返回值类型都可以省略,程序会根据接口定义的上下文自动确定数据类型。package design.mode.reactivex.function;public class SimpleFuncMain { interface Body{ String lowwer(String low); } interface Printer{

2020-11-27 15:12:31 185

原创 设计模式之命令模式 Command

模式之命令模式1)先创建一个command接口,里面只有一个execute() 方法等待实现public interface Command { void execute();}2)创建一个灯类作为demopackage design.mode.command;public class Light { public void on(){ System.out.println("light on now"); } public void off

2020-11-26 10:38:11 117

原创 基于Flow.Publisher/Flow.Subscriber的观察者模式

基于Flow.Publisher/Flow.Subscriber的观察者模式基于Flow.Publisher/Flow.Subscriber的观察者模式发布者Sender实现Flow.Publisher接收者Receiver实现Flow.SubscriberMain函数验证结果基于Flow.Publisher/Flow.Subscriber的观察者模式此Demo代码由三部分组成,分别是发布者、观察者、执行函数发布者Sender实现Flow.Publisherpackage design.mode.o

2020-11-25 15:45:39 526

原创 JAVA设计模式-观察者模式(PropertyChangeEven、PropertyChangeListener实现)

因为Observable类在jdk1.9后已被标记为启用状态,推荐使用PropertyEvent等方式替代。所以以下代码是PropertyChangeEven、PropertyChangeListener 实现的观察者模式。1,创建一个很简单的主类public class PropertyMain { public static void main(String[] args) { PropertyProvider propertyPublishService = new Pr

2020-10-26 14:00:18 525 1

原创 JAVA设计模式-观察者模式(Observer、Observable实现)

1,首先设置一个主题类(即被观察者),继承自Observable类,代码如下@Slf4jpublic class SubjectDemo extends Observable { String message ; public void setMessage(String s){ this.message = s; log.info("set message {}",this.message); setChanged();

2020-10-26 11:02:50 172

原创 Mysql根据生日birthday计算年龄age

核心函数TIMESTAMPDIFFTIMESTAMPDIFF( YEAR, rel.birthday, CURDATE()) AS age完整sql如下SELECT mem.user_id, rel.`name`, rel.actual_name, rel.birthday, TIMESTAMPDIFF( YEAR, rel.birthday, CURDATE()) AS age FROM t_membership mem LEFT JOIN t_related_

2020-10-13 19:29:50 1469

原创 JAVA << 和 >>位运算

log.info("op accept is {} ",opAccept); log.info("op 1<<3 is {} ",1<<3); log.info("op 1<<2 is {} ",1<<2); log.info("op 1<<1 is {} ",1<<1); log.info("op 1<<0 is {} ",1<<0); ..

2020-10-12 17:12:25 82

原创 JAVA IO中的ByteBuffer, FileChannel

package com.yaeher.community.test.nio;import lombok.extern.slf4j.Slf4j;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.nio.ByteBuffer;import java.nio.CharBuffer;import java

2020-10-12 15:19:32 128

原创 java stream 流式写法过滤条件

public class Java8Test { public static void main(String[] args) { Person p1 = new Person("麻子", 31); Person p2 = new Person("李四", 20); Person p3 = new Person("王五", 26); List<Person> personList = new ArrayList

2020-07-28 14:27:05 1934

原创 Error occurred during initialization of boot layer,java.lang.module.FindException: Module java.instr

**Error occurred during initialization of boot layer java.lang.module.FindException: Module java.instrument not found**启动项目时遇到了这个问题,Application不能启动,但是gradle 没有问题,怀疑是启动参数配置错了,尝试调整了一下,果然解决了。解决方案如下:打开Edit->Application界面,选择JRE,选择Default...

2020-07-20 19:21:10 5066 1

原创 多态成员访问的特点

Parent p = new Child();多态成员访问的特点成员变量编译看左边(基类),运行看左边(基类);无论如何都是访问基类的成员变量。成员方法编译看左边(基类),运行看右边(派生类),动态绑定。Static方法编译看左边(基类),运行看左边(基类)。只有非静态的成员方法,编译看左边,运行看右边。这样,我们也可以得出多态的局限:不能使用派生类特有的成员属性和派生类特有的成员方法。代码举例:创建父类Animal类public class Animal { int

2020-07-16 17:03:26 791

原创 MySql字段添加随机时间

update t_question set create_time=date_add(create_time, interval (SELECT FLOOR(RAND()*100+7)) minute ) where id<380;示例为添加随机分钟 minute;date_add() 增加date_sub()减少month 月份minute 分钟second 秒

2020-05-21 10:11:01 914

转载 MySQL重置自增ID的值

alter table users AUTO_INCREMENT=10000;转自:https://www.jb51.net/article/42883.htm

2020-03-02 18:27:12 1319

原创 getSystemProperty("line.separator")的作用

最近项目中在用阿里巴巴的canal,看到代码里有一句是这样写的。public static final String LINE_SEPARATOR = getSystemProperty("line.separator");打印出来的效果就是,换行符。那么为什么要这样写呢?原因是想要使用系统的换行符号,避免操作系统不同带来的不同后果。...

2020-03-02 15:39:16 383

原创 操作无法完成,因为文件已在另一个程序中打开

1)打开任务管理器选择性能,选择打开资源监视器2)打开资源监视器搜索关联的句柄,将搜索结果结束任务,即可。

2020-02-26 17:47:42 3104

原创 自动创建ES的index

PUT /_cluster/settings{ "persistent" : { "action": { "auto_create_index": "true" } }}

2020-02-26 16:47:50 4798 1

原创 ElasticSearch设置自定义_id

在请求的URL上附加上想要设置的_id的值POST /yaeher-article/_doc/sergivandebunorwichpublishid{ "author":"Sergi·Van·Debunorwich", "authorFullName":"谢尔盖·范·德彪诺维奇", "authorOpenId":"wodeopenid", "category":"一级", "con...

2020-02-26 16:46:20 4143

原创 mysql查看配置文件的优先级

mysql --help|grep ‘my.cnf’

2020-02-21 15:43:08 314

原创 idea配置maven解决"Dependency 'xxxx‘ not found"

1)官网下载maven 地址:http://maven.apache.org/download.cgi2)在本地解压缩。配置环境变量。环境变量MAVEN_HOME配置path3) 设置maven 配置文件,设置alibaba仓库,避免依赖下载时报错。打开maven安装路径下的conf文件夹下面的,settings.xml文件。一,设置本地仓库地址localRepository...

2020-02-19 18:03:12 1428

原创 Mockito之@Mock和@InjectMocks的不同,搬运自Stack Overflow

这里举一个简单的例子来展示@Mock 和 @InjectMocks的不同有game 和 player 两个类class Game { private Player player; public Game(Player player) { this.player = player; } public String attack() { ...

2019-12-11 14:51:21 617

原创 @Mockito注解和@Mock注解失败的解决办法

最近在看mockito的资料,创建一个mock对象有两种方法。①使用Mocktio.mock方法创建对象;②使用@Mock注解创建对象;在使用过程中发现使用List mockList = Mockito.mock(ArrayList.class);创建一个mock出来的ArrayList对象mockList,是可以成功创建的,但是使用@Mock注解就没效果。果断Google了一下,在St...

2019-12-10 15:10:56 6628 1

Teach yourselfprogramming in Ten Years

Walk into any bookstore, and you’ll see how to Teach Yourself Java in 24 Hours alongside endless variations offering to teach C, SQL, Ruby, Algorithms, and so on in a few days or hours. The Amazon advanced search for [title: teach, yourself, hours, since: 2000 and found 512 such books. Of the top ten, nine are programming books (the other is about bookkeeping). Similar results come from replacing “teach yourself” with “learn” or “hours” with “days.”

2019-04-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除