自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 收藏
  • 关注

原创 SpringMVC原理流程代码解析以及SpringMVC的9大组件

SpringMVC的底层原理,DispathcherServlet会在内部从Spring容器中拿到HandlerMapping对象{ else{ try{ HanderMapping hm = context.getBean(HANDER_MAPPING_BEAN_NAME, HanderMapping.class); ...

2019-08-02 03:09:36 166

原创 二叉树遍历,深度遍历和广度遍历的程序说明,及其应用

package test;import com.sun.jmx.remote.internal.ArrayQueue;import java.util.ArrayDeque;import java.util.Queue;import java.util.Stack;public class TreeTraversal { /** * 树节点 */ ...

2019-08-02 02:19:22 185

原创 在idea中使用lambok插件的方式注入

在idea中我们使用插件的方式提供注入的方式,不过需要加载jar包,在编译的时候需要在idea中添加插件lambok。

2019-01-02 16:15:07 623 1

原创 在controller层中使用poi读取excel表格中的数据

需求:需要对一个Excel表格中的数据,批量添加到数据库中1.首先在JSP页面中可以写出来,选择文件的按钮,<!--批量导入--><div id="dgBatchImport" class="easyui-dialog" title="批量导入文件" width="1100px" height="500px" closed="true"

2018-11-05 20:54:47 1088

原创 阿里云centos7安装配置mysql

首先将MySQL的tar包放入到linux系统中的/usr/local/mysql查看目录下是否有mysql的安装包解压mysql的tar包安装MySQL的common安装MySQL的libs安装MySQL的clink安装MySQL的server通过命令查看刚才安装的MySQL是否安装成功对MySQL进行初始化,需要下载libao.so....

2018-10-31 11:32:10 281

原创 maven配置阿里的云镜像

<?xml version="1.0" encoding="UTF-8"?><!--Licensed to the Apache Software Foundation (ASF) under oneor more contributor license agreements. See the NOTICE filedistributed with this wor...

2018-09-21 15:09:31 111

原创 List集合中add()方法和addAll()方法的区别

Add方法是将传入的参数作为当前List中的一个item存储,即使你传入一个List也只会令当前的List增加1个元素AddAll是传入一个List,将此List中的所有元素加入到当前List中,也就是当前List会增加的元素个数为传入的List的大小即 addAll(Collection c) add(int index, Elelemt e)-----------------...

2018-08-02 16:35:59 41120

原创 HashMap源代码解析

4、关于树化(转成红黑树)6//如果table 为null 或者它的存储空间还没达到64就暂时不进行树化,而是进行扩容。调用计算hash犯法,计算key的hash值(h = key.hashCode() ^ (h >>>16))//如果table 不为null,或者它的存储空间达到或超过64 就会真正的树化。1、执行构造器new HashMap()2、执行put方法底层代码。3、执行putVal方法。

2023-07-14 00:19:35 141

原创 解决哈希冲突

1、HashMap引入了链式寻址法来解决hash冲突,冲突的key,HashMap把这些key组成一个单向链表,然后采用尾插法把key保存到链表的尾部。为了避免链表过长问题,当链表长度大于8并且数组长度等于64的时候,HashMap会把链表转化为红黑树,从而减少数据查询的时间复杂度,提升查询性能。2、开放寻址法,直接从冲突的数组位置往下寻找一个空的数组存储,在ThreadLocal中使用到。3、再hash法,如果某个hash函数产生了冲突,在用另外一个hash计算,布隆过滤器。

2023-07-11 16:15:06 234

原创 Java 堆内堆外内存

2023-07-05 17:25:53 113

原创 垃圾回收器

CMS+ParNew配置。

2023-07-05 17:25:47 180

原创 接口继承接口

接口继承接口

2022-11-14 22:14:29 731 1

原创 抽象类和接口

抽象类和接口

2022-11-02 00:05:24 105

原创 java类映射BeanUtils.findDeclaredMethod方法应用

首先获取类Class clz = event.getClass();然后获取类的某个方法Method method = BeanUtils.findDeclaredMethod()

2021-06-15 18:04:08 1530 1

原创 docker进入Kafka容器

首先先查看docker中的容器docker ps执行

2021-06-04 18:01:10 875

原创 docker安装kafka

因为不想在电脑上安装mysql、redis、kafka所以安装了软件docker,安装和删除都十分便利。安装kafka的首先,需要安装zookeeper,首先拉取zookeeper的镜像pullde

2021-06-04 17:54:41 298

原创 docker配置mysql

mac安装mysql的话,完全卸载是十分复杂的,因此我们可以先在mac本上下载docker,详情可见上篇文章,在docker上安装mysql方便快捷,并且便于卸载。首先打开控制台输入命令docker search mysql可以查看mysql的版本下载mysql镜像docker pull mysql:latest查看本地安装的mysql镜像docker images可以看到本地已经有mysql镜像了有了镜像后,我们可以在界面上操作,运行容器,同时也可

2021-05-26 17:29:17 213 2

原创 MacOS安装docker

手动下载安装如果需要手动下载,请点击以下链接下载Stable或Edge版本的 Docker for Mac。如同 macOS 其它软件一样,安装也非常简单,双击下载的 .dmg 文件,然后将鲸鱼图标拖拽到 Application 文件夹即可。从应用中找到 Docker 图标并点击运行。可能会询问 macOS 的登陆密码,输入即可。镜像加速因为外网镜像导入时间过长,因此可以选择网易提供的镜像,配置如下:打开docker程序,选择docker engine在框中输入...

2021-05-26 16:54:37 224 1

转载 java入参校验,入参为枚举类中的值,如果不是枚举中的值,则抛出异常

https://www.cnblogs.com/fbw-gxy/p/11657793.html

2020-11-09 17:41:55 1496

原创 对List中根据对象的某一属性进行排序

// 如果标位类型为利率利差,申购标位升序 Collections.sort(instructionsRateSpread, new Comparator<VQtwPmBondInstruction>() { @Override public int compare(VQtwPmBondInstruction o1, VQtwPmBondInstruction o2) { if(new BigDec.

2020-09-09 10:14:37 604

原创 事务的传播属性

1.PROPAGATION_REQUIRED支持当前事务,如果没有事务,就新建一个事务2.PROPAGATION_SUPPORTS支持当前事务,如果没有事务,则采用非事务的提交方式3.PROPAGATION_MANDATORY支持当前事务,如果当前没事务,则抛出异常4.PROPAGATION_REQUIRES_NEW新建一个事务,如果当前存在事务,则将事务挂起5.PROPAGATION_NOT_SUPPORTED以非事务的方式提交,如果当前存在事务,则将事务挂起6.P

2020-06-30 17:09:33 162

原创 反射

1、什么是反射Student student = new Student();当我们new一个对象时,jvm会加载我们的student.class2、加载过程1)、jvm会去找我们本地磁盘找student.class文件并加载到jvm内存中2)、将class对象读入内存,这个class对象是jvm自动创建的一个class对象,这个必须且自动创建的一个class对象3、jvm的反射机制java反射极致是在运行状态中,对任意一个类,能够知道这个类所属属性和方法;对于任意一个对象,都

2020-06-08 18:09:01 102

原创 Oracle查询,当一个SQL返回为一个列表,另一个SQL返回一个以逗号分隔的字符串,如何将这个两个SQL整合起来

执行第一个SQL为:SELECT T.PARTY_HCODEFROM REF_PARTY_BASICINFO T, ( SELECT T3.pcode AS partycode, T3.ratingvalue AS rtvalue FROM ( SELECT T2.PARTY_HCODE AS pcode, T2.effectdate AS edate, T2.ratingi...

2019-08-29 14:36:59 213

原创 mysql服务挂了后应尝试怎么做

Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.之后查看my...

2019-08-20 22:47:52 421

原创 微服务架构

微服务架构,提倡将单一应用程序划分为一组一组小的服务,服务之间相互协调,互相配合。虽然微服务架构没有公认的技术标准和规范,但现在应用比较多的为springcloud和dubbo。微服务的主要优势1.降低复杂度将原来耦合在一起的复杂业务查拆分为单个服务,规避了原本复杂度无止境的积累。每一个微服务专注于单一功能,并通过定义良好的接口清晰表述服务边界,每个微服务只专注服务本身,通过缓存可以提...

2019-08-11 20:10:59 292

原创 创建线程时,继承thread和实现Runable有什么区别

使用实现Runable接口的方式更能体现买你想对象编程思想我们知道new Thread()是构建一个线程对象,线程对象要做的事情就是Runable对象中的run()方法,这样就体现了面向对象编程。new Thread (new Runable(){ public void run(){ System.out.print("runable ->" + Thre...

2019-08-11 17:21:13 290

原创 springcloud各个服务内容,以及需要注意方面

1.EurekaEureka为springcloud的各个微服务提供了注册发现(EurekaDiscover)服务,但是eureka集群的各个节点都是平等的,任何一个节点挂掉之后,只要还有存活的eureka,zokeerper集群的话,有一个主节点,主节点挂掉之后,其他节点会再选出来一个leader节点,eureka遵循CAP定律的AP原则,保证了可用性和分区容错性,zokeerper因为主节...

2019-08-10 19:13:01 330

原创 feign中SynchonousMethodHandler

我们知道feign是基于RequestRestTemplate模拟的http请求,如果有研究feign的源码,我们可以发现在SynchonousMethodHandler类下面,有一个targetRequest(RequestTemplate template)方法,这个方法里面会循环的调用interceptor.apply();而lcn正是重写了apply方法,将自己的group-id传递到了...

2019-08-09 17:03:16 978

原创 springBoot的启动原理

SpringBoot的启动类为**Application,一注解@SpringBootApplication注明@SpringBootApplicationpublic class cmsApplication{ public static void main(String[] args){ SpringApplication.run(cmsApplication....

2019-08-09 17:01:48 303

原创 通过位运算解决两个数交换问题

两个数交换位置,我们可能想到的使用一个临时变量temp,但当不使用临时变量,减少内存占用,如何实现交换两个数,1.可以使用位运算,位运算左移右移,是通过二进制数进行计算的两个数的交换,传统int temp = a;a = b;b = temp;位运算可以进行两个数交换a ^= b;b ^= a;a ^= b;还可以使用计算的方式节省内存空间,增加计算量a = ...

2019-08-09 16:59:51 925

原创 HashMap源码变量含义

hashMap的底层算法结构//默认的初始化容量为16static final int DEFAULT_INITAL_CAPACITY = 1 << 4;//最大的容量,容量的值必须是2的幂并且小于最大容量,最大值为2的30此房static final int MAXMUM_CAPACITY = 1 << 30;//加载因子默认值为0.75static f...

2019-08-09 16:57:50 199

原创 企业换绑卡程序中应用

<!DOCTYPE html><html xmlns:th="http://www.thymeleaf.org"><head th:replace="header :: header"></head><style type="text/css"> .easyui-dialog { }</style>...

2019-08-09 16:56:15 114

原创 安装rabbitMQ在服务器上

https://www.cnblogs.com/xrog/p/8519967.html安装rabbitMQ博客之后使用guest不使用本机ip是无法登陆的,需要修改rabbitMQ安装位置的ebin中rabbit.app中lookback_user中guest删除,也可以新增一个用户,之后对用户赋予权限。MQ的简单应用rabbitMQ 传递的是事务AMQP事务机制通过AMQP事...

2019-08-09 16:55:43 101

原创 linux中查看日志的less命令

进入less后,比如less console.log可以输入?+所要搜索的内容搜索到的内容就会高亮显示,y向上移动一行(按“下”也可以)空格向下滚动一屏b向上滚动一屏d向下滚动半屏h less帮助u向上滚动半屏w指定开始显示行数g跳到第一行G跳到最后一行p n% 跳到n% 比如p 10%,跳到页面展示10% 的内容/pattern 搜索对应参数从第一...

2019-08-09 16:55:30 1170

原创 在自己部署的Javaweb项目中web界面元素的字体乱码

在vm-options中添加:-Dfile.encoding=UTF-8

2019-08-09 16:55:09 125

原创 spring boot的小消遣

https://www.cnblogs.com/lilinzhiyu/p/8116877.html可以修改运行后,banner.txt的内容

2019-08-09 16:54:42 97

原创 spring boot在maven将项目压缩为jar包后

springboot在maven将项目压缩为jar包时,会将templates中excel文件进行重新写入,有两种解决方案,第一种修改配置,在maven压缩为jar包时,不对.xls文件进行修改,第二种,将文件放置在static静态资源中,在security中进行配置,当有session时进行可以对excel文件进行下载,权限控制要做好。参考博客https://blog.csdn....

2019-08-09 16:54:18 224

原创 Java工厂模式

Java实现计算器的工厂模式Operation的Modelpublic abstract class Operation{ private double numberA; private double numberB; public double getNumberA(){ return numberA; } public do...

2019-08-06 22:24:30 145

原创 如果在,阿里云服务器上部署项目到Tomcat服务器上,使用验证码生成图片,出现错误

将自己的项目部署到服务器上,生成验证码图片时,在自己的linux上要下载几个插件,不然在客户访问时,会出现访问报错,这时我们要在自己的linux服务器上需要增加几个插件首先增加libgcc插件,需要在linux输入命令sudo yum install libgcc.i686 --setopt=protected_multilib=false该命令在你的linux服务器上回下载lib...

2019-01-28 15:23:12 360

原创 js将字符串转换为int值

在界面中因为要对时间进行校验,在时间搜索框中,使用easyUI的时间插件得到的时间为2019-01-02,根据'-'切割字符串后得到一个数组为[2019],[01],[02]但是在月份个日期的比较中,因为要进行加减运算,所以,如果带0的话会出现字符串的拼接,并不能达到预期的效果,但是经过函数parseInt转换后就可以变成数字1,便可以进行数字的加减运算。var   str='1250';...

2019-01-02 14:29:21 19095

空空如也

空空如也

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

TA关注的人

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