自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

转载 git check out 远程分支

参考:https://blog.csdn.net/wangxuelei036/article/details/109721601

2021-07-21 19:40:32 289

原创 Spring Cloud Alibaba整合seata 1.4.0 (二)

Spring Cloud Alibaba整合seata 1.4.0 (二)Spring Cloud Alibaba整合seata 1.4.0(一)中整合了seata,但是项目中并没有使用到seata的功能,这篇博客介绍项目中如何使用seata。使用seata是极其简单的,配置确实极其复杂的。项目背景:my-service中调用provider-service,调用provider-service后my-service中出现了RuntimeException或者超时异常。如果使用传统的@T

2021-01-14 16:24:06 961

原创 Spring Cloud Alibaba整合seata 1.4.0(一)

本博客记录Spring Cloud Alibaba整合seata 1.4.0,达到整合seata的项目能够成功启动的目标即可,后续开发遇到关于seata的其他问题,会持续更新。步骤一、下载seata server步骤二、seata server端配置修改步骤三、启动seata server步骤四、修改客户端需要使用到的配置,并且添加到nacos配置管理中步骤五、项目整合seata步骤六、启动项目步骤一、下载seata server下载地址:http://seata.io.

2021-01-13 16:07:51 2230 6

原创 SpringCloud Ribbon - 替换负载均衡规则

SpringCloud Ribbon - 替换负载均衡规则ribbon默认的负载均衡规则是轮询的方式,即假如一个服务A有两个服务实例A1、A2,当第一次请求时使用A1实例,第二次请求时使用A2实例,以此往复。该轮询算法也很简单:即服务器实例list,list[1] = A1, list[2] = A2。通过请求数(reqCount)取余服务实例总数(size)得到的结果(ret)作为List下标,即 reqCount%size=ret,serviceInstance = list.get(ret.

2020-12-21 16:45:12 655 3

原创 国际化(i18n) - 基于springboot

Springboot项目的国际化 - i18nspringboot版本 2.4.0步骤一、添加Resource Bundle如果使用STS或者Eclipse开发项目,想要更方便的添加Resource Bundle文件,需要安装ResourceBundleEditor。STS/Eclipse安装ResourceBundleEditorhelp -> Eclipse Marketplace搜索ResourceBundleEditor,点击install即可(笔者本机上

2020-12-09 11:31:24 748 1

原创 SpringSecurity - 基于SpringBoot

Springboot整合Springsecurity版本:springboot 2.4.0步骤一、引入依赖使用springsecurity必然会涉及到前端权限访问的问题,所以该用例会引入模板引擎Thymeleaf<!-- 模板引擎Thymeleaf --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-st.

2020-12-08 10:46:03 147

原创 Mail - 基于Springboot

Springboot整合邮件服务springboot版本 - 2.4.0引入相关依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></dependency><dependency> <groupId>javax.mail&lt

2020-12-02 17:29:12 220

原创 Redis - 基于SpringBoot

缓存中间件Redis - 基于SpringBoot缓存中间件Redis - 基于SpringBoot步骤一、加入Redis相关依赖步骤二、配置Redis服务器的相关属性步骤三、开启基于注解的缓存步骤四、数据对象必须可序列化步骤五、在相应的方法上加上缓存注解@Cacheable、@CachePut、@CacheEvictSpEL表达式步骤一、加入Redis相关依赖<dependency> <groupId>org.springframewo.

2020-11-25 21:42:55 127

原创 自定义Spring-Boot-Starter

自定义的Spring-Boot-Starter开发一个自定义的Spring-boot-starter -> custom-spring-boot-starter步骤一、编写custom-spring-boot-starter-autoconfigurerpom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:...

2020-11-24 22:29:34 242

原创 Mybatis - 基于Springboot

Springboot整合Mybatis步骤一、引入相关依赖<!-- 引入alibab 的Druid数据源,SpringBoot默认使用的是Tomcat的数据源 --><dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.2.3</version></de

2020-11-24 10:05:40 96

原创 TCP/IP 1

什么是TCP/IP协议?1、面向连接的 - 3次握手2、可靠的传输协议三次握手 -> 数据传输 -> 四次握手 是不可分割的。三次握手:(传输控制层) (syn – 同步包, ack – 确认包, syn+ack - 同步确认包)四次分手:(为什么需要四次分手?)(FIN – 通信完成)由于在TCP建立连接后客户端和服务端双方都会开辟资源(socket)用于双方的通信,所以在断开连接时需要4次分手。TCP/IP...

2020-10-15 10:34:10 94

转载 Linux下运行Java报错: 找不到或无法加载主类

目录结构为:main函数在mygui/Test.java中,正确编译方法为,在src目录下执行如下命令可以正确执行。javac mygui/Test.javajava mygui.Test如果在mygui目录下编译,则需要添加src目录为classpath目录,其中 -cp 是指定类路径。javac -cp ../ Test.javajava -cp ../ mygui.Test如果在mygui目录下直接执行java Test则会报错->找不到或无法...

2020-07-20 11:29:04 3760

转载 Linux下如何配置JAVA环境

1.下载JDKJava SE 8的官方网址是http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html2.解压文件[root@acb40835 software]# tar -xvf jdk-8u65-linux-x64.tar.gz3.添加环境变量[root@acb40835 software]# vim /etc/profile添加:export JAVA...

2020-07-20 11:14:47 258

原创 问题:a = 0, a = a++,a = ?

面试题分析第一弹面试题:public static void main(String[] args) { int a = 0; a = a++; System.out.println(a);}答案是 a = 0。为什么?分析为了更好的分析原因,不妨从字节指令来看看具体的指令执行流程。>javac - xxx.java>javap -c xxx.class重要的几个指令是:下面列出了这几个指令的具体描述指令 操.

2020-07-16 15:47:21 1440

转载 Java字节码指令大全

一、常量入栈指令指令码 操作码(助记符) 操作数 描述(栈指操作数栈) 0x01 aconst_null null值入栈。 0x02 iconst_m1 -1(int)值入栈。 0x03 iconst_0 0(int)值入栈。 0x04 iconst_1 1(int)值入栈。 0x05 iconst_2 2(int)值入栈。 0x06 iconst...

2020-07-16 15:14:46 321

原创 Win10 Hyper-V管理器安装CenOS8

Win10 Hyper-V管理器下安装CenOS8不再像安装8以下的版本那么复杂了。CentOS8以前的版本需要结合Linux集成服务,而CentOS8不再需要。这篇文章将按照步骤加图片的形式来说明安装步骤。一、下载CentOS镜像文件CentOS下载地址下载完成后,开始创建虚拟机。二、启用Win10自带的Hyper-V管理器功能Win10菜单栏输入hyper-v点击 Turn Windows feature on or off.选中Hyper-V,等几分钟后

2020-07-15 17:21:58 577

原创 DCL单例模式需不需要volatile?

这篇博客主要介绍单例模式中的双重验证中是否需要加volatile,以及为什么。单例模式最简单的实现方式public class Singleton { private static Singleton instance = new Singleton(); private Singleton() {} public static Singleton getInstance() { return instance; }}这种写法无论在单线程.

2020-07-09 16:30:46 1714 1

原创 HashMap put(K key, V value)解析

这篇博客主要记录HashMap put(K key, V value)方法以及resize()的解析。根据具体的Demo来解析代码流程,该Demo比较极端,主要是为了在存储键值对时让hashMap调用replacementTreeNode()方法,并且在创建HashMap时没有指定集合的容量(capacity)。在阅读之前先了解一下HashMap的数据结构,如下图所示:Map<String, String> map = new HashMap<>();map.pu

2020-06-23 18:21:28 1045

原创 JAVA创建线程池

阅读了阿里JAVA开发手册泰山版,其中关于线程池的创建有个强制要求:线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,这 样的处理方式更加明确线程池的运行规则,规避资源耗尽的风险。说明:Executors返回的线程池对象的弊端如下: 1)FixedThreadPool和SingtelThreadPool 允许的请求队列长度为 Integer.MAX_VALUE,可能会堆积大量的请求,从而导致 OOM。 2)Cached...

2020-06-19 10:19:28 488

原创 ArrayList扩容

这篇博客涉及到比较简单和常用的ArrayList的扩容。解决如下问题:ArrayList何时会扩容? ArrayList如何扩容?先看一段代码,然后根据代码去解析ArrayList是如何扩容的。List<String> list = new ArrayList<>(); // 1for (int i = 0; i < 100; i++) { // 2 list.add(String.valueOf(i)); // 3}根据添加元素的.

2020-06-15 18:02:12 507

原创 TreeMap put()和遍历

这篇博客记录了学习TreeMap时关于put()方法和遍历TreeMap的解析,方便巩固学习,仅作参考。TreeMap<String, String> treeMap = new TreeMap<>() ;String str1 = "12";String str2 = "123";String str3 = "1234";treeMap.put(str...

2020-04-09 18:29:13 753

原创 HashSet.add()方法解析

这篇文章主要是记录学习HashSet时关于add()方法的解析,以便个人理解HashSet大概的工作原理,仅作参考。范例一:TestObj类的任意实例对象a, b, a.equals(b)方法都返回true,并且a.hashcode() == b.hashcode(),即hashcode值一样。/** * TestObj类的任意实例对象a, b, a.equals(b)方法都...

2020-04-09 11:28:17 485

原创 Java普通方式读写文件使用字节数组作为缓冲时的注意事项

这篇文章主要是针对使用普通InputStream和OutputStream读写时遇到问题的总结。直接上代码: String filePathForRead = "D:\\For Testing\\test.txt"; File fileForRead = new File(filePathForRead); if (!fileForRead.exists()) { Syst...

2020-03-17 11:48:05 730

原创 Hibernate 4升级到Hibernate 5遇到的两个问题

问题一Hibernate 4构建SessionFactory的方式与Hibernate 5的构建方式不同。如果在Hibernate 5的环境下继续使用Hibernate 4的sessionFactory创建方式,那么Configuration或者Metadata对象里面没有项目所映射的Entity,造成项目运行时报错,比如:org.hibernate.MappingException...

2019-12-23 17:51:46 2786

原创 NoSuchMethodError通用解决方案

NoSuchMethodError 这种错误可能由两个原因导致。1、项目运行时加载了错误jar包下的class2、同一个类型的jar包的不同版本同时存在classpath中。一、加载了错误jar包下的class参考下面这个例子:java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpans...

2019-11-28 14:20:51 15796 1

原创 数据库数据类型 - char() 填坑

此博客记录一次数据库数据类型 - char(10)造成的查询记录数目不匹配的问题,仅作相关参考。问题描述:在java中使用如下查询语句获得某个记录在数据库TB_A表中匹配次数。select count(*) as NUM from TB_A where data_no = ?然后使用ResultSet获得NUM的值(中间setParameter之类的细节省略),然而得到的coun...

2019-06-25 17:13:55 5358

原创 DateFormat Pattern 格式填坑

此博客作为使用Date Format时,对于Pattern的格式填坑。仅做参考String转Date或者Date转String的时候都会使用到"yyyyMMdd HH:mm:ss"类似的模板。先介绍一下 G 年代标志符 y 年 M 月 d 日 h 时 在上午或下午 (1~12) H 时 在一天中 (0~23) m 分 s 秒...

2019-06-25 10:34:19 3648

原创 Javascript方法总是不调用,只有打开了F12 Developer Tool方法才能执行

问题描述:页面有一个复选框(checkbox),点击该复选框时,这个表格中的所有复选框都选中,取消选中时,所有的都取消选中。但是当打开浏览器的开发者工具(Developer Tool)之前,这个方法无论如何都不会执行,而且控制台也没有任何错误信息。博主找遍了国内外各大论坛都无果,大多数找到的问题根源都是在JavaScript function中使用了console方法,因为consol...

2019-06-07 16:27:51 2579

原创 JavaScript 中使用方法重载的问题

js中有两个重载方法, 如下。function funA(paramA, paramB){ return paramA + paramB;}function funA(param){ return param;}当调用 funA(1) 和funA(2, 3)时,返回值的情况:funA(1) 返回 1funA(2, 3) 返回 2.原因:Javas...

2019-05-06 18:02:21 108

原创 使用ReportBuilder时遇到的问题

1.创建Data Sources, builde一个数据库连接时,做如下图所示的配置,总是不能创建连接。在sql developer中测试了这个连接属性,都是能创建连接的,后来google发现,需要要Server name中内容修改为: hostname:port/servicename2.修改线上的report之后,测试通过,放回线上后发现创建Report的速度变慢很多。如果......

2019-03-07 15:15:45 3790

原创 wait()、notify()需要在同步块中使用

为什么wait()、notify()需要在同步块中使用?源码中这样说: *Causes the current thread to wait until another thread invokes the * {@link java.lang.Object#notify()} method or the * {@link java.lang.Object...

2019-03-07 14:46:08 178

原创 puTTy远程挂载weblogic服务

查看weblogic 服务ps -ef|grep ‘weblogic’kill -9 ‘编号’如果访问远程服务器上面的weblogic server,使用puTTy启动weblogic。puTTy关闭后,为了不让远程服务器上面的weblogic shutdown,俗称:挂载使用如下启动命令Nohup ./startWeblogic.sh &amp;...

2019-03-07 14:43:48 200

原创 java基础知识

基本数据类型 基本数据类型 byte short int long float double char boole...

2019-03-07 14:39:16 83

原创 RabbitMQ使用

安装MQ安装RabbitMQ之前需要安装ERLANG,安装ERLANG时,需要用管理员权限安装,否则安装RabbitMQ时会提示Erlang could not be detected.来自RabbitMQ官方说明:youmustrun the Erlang installer using an administrative account otherwise a registry...

2019-03-07 14:33:58 333

原创 初学Redis

Redis的安装参考安装redis.添加Redis到环境变量,方便使用。命令行输入:redis-server.exe redis.windows.confInvalid argument during startup: Failed to open再打开一个命令行,上一个命令行不要关闭。命令行输入:redis-cli.exe -h 127.0.0.1 -p 6379C:\U...

2019-03-07 14:25:55 105

原创 Git常用操作

使用当前目录作为GIT仓库&gt;git init使用指定目录作为GIT仓库&gt;git init newRepoClone &lt;repo&gt;仓库到&lt;directory&gt;目录&gt;git clone &lt;repo&gt; &lt;directory&gt;git配置网络代理git config --global https.proxy htt...

2019-03-07 14:18:54 62

原创 Inner join, left join, right join, full join in MySQL

MySQL数据库现有TA, TB 两张表,表数据如下:TA ID NAME 1 A_1 2 A_2 3 A_3 4 A_4 5 A_5 7 A_7 TB ID NAME 1 B_1 2 B_2 3 B_3 4 B_4 5 B_5 6 B_6 IN...

2019-01-22 11:19:56 440

原创 JSP中使用JSTL,并且解决XSS安全问题

普通的Java Web项目中使用JSTL来简化JSP, 以及使用&lt;c:out&gt; 标签处理Cross-Site Scripting安全问题。1. 下载JSTL必要的jar包官方下载地址:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/下载 jakarta-taglibs-standard-1.1...

2019-01-11 21:33:04 2753

原创 java1.8, ArrayList删除目标元素,报错ConcurrentModificationException

在java1.8环境下,使用forEach的方式删除ArrayList中的目标元素,出现ConcurrentModificationException。一段简单的代码:List&lt;String&gt; strs = new ArrayList&lt;String&gt;(); // 1 strs.add("aaa"); // 2 strs.add("bbb"); // 3 ...

2018-12-21 11:21:07 292

转载 位、字节和字符

位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数。字节(byte):是计算机中数据处理的基本单位,习惯上用大写  B  来表示,1B(byte,字节)= 8bit(位)。字符:是指计算机中使用的字母、数字、字和符号。三者之间的转换根据编码的不同而不同,如下:ASCIIS码: 1个英文字母(不分大小写)= 1个字节的空间              ...

2018-11-05 16:12:54 137

开发手册-泰山.zip

JAVA开发手册泰山版。下载的手册不得用作任何形式的商业意图,否则将依法追究相关法律责任!

2020-06-19

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

TA关注的人

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