![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 72
lovePaul77
这个作者很懒,什么都没留下…
展开
-
是时候研究一波HashMap了(二)
接上一篇继续说经常说HashMap非线程安全,是如何体现的我们经常说HashMap线程非安全,那到底是如何提现的呢,答案就是在多线程并发的条件下,还记的HashMap中有一个resize的方法么,就是把map扩容两倍的地方,不记得没关系,我给你贴源码,其实这里有两点在jdk1.7中,多线程环境下,扩容时候会造成环形链或数据丢失在jdk1.8中,多线程环境下,会发生数据覆盖的情况1,7的原因是:在发生hash碰撞的时候,采用的头插入法,不是直接插入链表尾部,所以在1.8中改掉了,直接插入链.原创 2020-06-23 00:04:00 · 290 阅读 · 0 评论 -
是时候研究一波HashMap了(一)
HashMap背景HashMap基本HashMap的特性HashMap的底层原理是什么HashMap的put方法是怎么工作的HashMap什么时候要扩容,扩容又是如何实现的HashMap中的get是怎么实现的HashMap中是如何减少hash值的碰撞HashMap底层数组链表是怎么表现出来的解释一下HashMap中的loadFactor,他的作用是啥传统的HashMap的缺点是啥平时用HashMap时一般用什么类型的元素作为key背景最近准备面试,瞎鸡巴投竟然接到陆金所的电话面试,当时就有点惊喜,因为原创 2020-06-22 00:39:34 · 1340 阅读 · 0 评论 -
Docker学习(安装-卸载-Mysql集群-PXC框架)第二节HAproxy负载均衡
一、整体架构简介这里面需要用到上节课创建的三台Mysql集群本来我是打算在那台虚拟机上面使用docker创建另外的一个镜像这样就把负载均衡的服务器都用在了一个服务器上了但是弄完发现数据库始终无法连接,我也把网段端口都检查了一遍没办法的情况下,我开了另外一台虚拟机了,将负责负载均衡的HAproxy在单独的一台机器里面,这里给一下详细的图这里我用了两台服务器,一台服务器里面搭建了mysql...原创 2020-01-01 21:42:28 · 460 阅读 · 1 评论 -
Docker学习(安装-卸载-Mysql集群-PXC框架)
环境centos7先要更新yum的所有包yum -y update用yum安装dockeryum install -y docker启动dockerservice docker start停止dockerservice docker stop重启dockerservice docker restart寻找镜像docker search java拉取镜像...原创 2020-01-01 11:37:35 · 774 阅读 · 0 评论 -
Kettle学习(1):Kettle使用说明文档
Kettle使用说明文档Kettle的介绍Kettle下载和安装Kettle连接数据库Kettle的介绍Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle这个ETL工具集,它允许你...原创 2019-05-25 15:36:01 · 4058 阅读 · 0 评论 -
Kettle学习(2):服务器中java项目调用Kettle转换脚本ktr
SpringBoot 定时任务调用Kettle文件项目背景实施过程一、maven本地安装ktr所需要的jar包二、编写好ktr文件,确保本地是可以跑通的在说End项目背景报表导出业务涉及了两个库,所以这就导致了要进行跨库进行查询,在原本的库设计层面,这两个库是完全物理隔绝的,是没办法进行跨表查询的,所以,我就想了个办法来进行数据的迁移,但是组内资金有限,又不可能在申请服务器,引发了我想用基本的...原创 2019-05-01 20:09:04 · 5379 阅读 · 17 评论 -
Kettle学习(3):JAVA调用Kettle脚本使用JNDI配置文件
工作上遇到了一个前同事写的bug,关于Kettle这个文件的调用的问题,之前的同事可能也是着急实现这个功能,大体就是迁移核心的数据到ncpi系统的这一过程写的ktr的转换脚本是手动配置数据库,而且好几个ktr脚本这么配置起来就比较麻烦,再加上,如果换成生产环境的情况,就要把数据库的配置在重新配置一遍,但是我在本地配置了JNDI的连接方式,可是要怎么使用这个JNDI的配置就是一个问题了,毕竟服务器里...原创 2019-05-25 21:07:55 · 3301 阅读 · 0 评论 -
Kettle学习(4):Kettle取差集数据类似oracle的minus
背景工作中遇到的一个问题,场景是这样的,我们需要从A数据库通过一定的逻辑转换到B数据库,原来同事做的方式是使用了Kettle里面的一个控件,插入/更新这个控件,但是,程序上线一段时间后发现一个问题,A库的删除是物理删除,物理删除这个是万万没有想到的啊,你要是逻辑删除,那么每次我们在取数的sql里面加一个flg来判断就好了啊,只取是有效的就可以了,但是,这特么物理删除就直接懵比了,我们这个控件是不...原创 2019-05-25 22:12:39 · 1262 阅读 · 1 评论 -
jdk各个版本下载地址
https://www.oracle.com/technetwork/java/javase/archive-139210.html原创 2019-07-11 21:20:12 · 1712 阅读 · 1 评论 -
使用Docker搭建FTP文件容器
使用Docker搭建FTP服务器安装Docker,具体的安装查看我以前写的centos安装docker拉取imagedocker pull fauria/vsftpd执行命令,运行容器,其中的ip地址改为你真实的ip地址,这里面已经设置了用户名和密码都是testdocker run -d -v /home/ftp:/home/vsftpd \-p 20:20 -p 21:21...原创 2019-08-16 15:06:40 · 1993 阅读 · 0 评论 -
RocketMq4.4.0服务端部署+后台监控系统rocketmq console一条龙服务走起+踩坑总结(干货)
RocketMq官方快速启动文档上面给的连接就是Rokcet本身官方给的如何快速启动的文档,这其中我也研究了几天,发现有些坑是要自己踩出来的,在这里我一步一步的搭建好我们用的消息队列,写的不好的地方还望见谅服务器端:第一步:开启一个centos7的远程vps也好,还是你本地的Vmware虚拟机也好,先弄出来一个centos7的干净系统(ps:友情提示,这个虚拟机的运行内存要大...原创 2019-01-28 22:23:16 · 3249 阅读 · 3 评论 -
springboot&ajax&has been blocked by CORS policy: No 'Access-Control-Allow-Origin
ajax+springboot解决跨域问题,以下报的错误就是html跨域的问题Access to XMLHttpRequest at 'http://localhost:8080/user/login1' from origin 'http://localhost:59033' has been blocked by CORS policy: No 'Access-Control-Allow-...原创 2019-01-03 10:51:54 · 46666 阅读 · 6 评论 -
springboot 静态样式丢失&css、js访问不到&springboot2.0版本
问题是这样的,我打算写一个单体架构的应用,用到的是springboot+freemarker+uikit(css样式框架)大体的代码如下图所示(springboot2.0版本)项目代码位置:码云项目代码demo文件目录大概框架pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http:...原创 2019-01-03 10:30:26 · 5035 阅读 · 1 评论 -
IDEA+SpringMVC+Spring+Mybatis整合方式
IDEA+SpringMVC+Spring+Mybatis整合方式这个方法是从 dao—-service—web (自下而上) 配置的1、建立好工程,并且按照图片中给的包名建好2、建立jdbc.properties文件——–resources文件的根目录下面jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306原创 2017-12-18 16:07:24 · 535 阅读 · 0 评论 -
Spring事务的学习笔记
### 事务的特性:(什么叫做事务,说白了就是会回滚业务) 1、原子性:要么都成功,要么都失败。 2、一致性:事务的执行前后数据的完整性要一致。 3、隔离性:并发条件下不会出现脏读等现象。 4、持久性:提交了就是提交了,数据就修改成功了。###事务的隔离级别: 1、默认(DEFAULT):是Spring框架根据不同的数据库来采用同的级别 2、READ_UNCOMMITED:允许读原创 2018-02-09 09:56:45 · 247 阅读 · 0 评论 -
Centos7&Nginx安装&域名解析&Nginx配置SSL证书
首先你需要一个Linux的虚拟机,我这里选用的版本是centos7Centos7下载地址第二步:无脑安装,记得开启桥接网络连接模式第三步:开始敲命令行yum -y install vim yum -y install iptalbes-servicessystemctl disable iptables.serviceyum -y install gcc gcc-c++autocong pcre p原创 2018-02-10 14:59:28 · 794 阅读 · 0 评论 -
Springboot+Mybatis(Springboot整合Mybatis)
Springboot整合Mybatis第一步:首先建立数据库,并插入数据(数据库的名字是sell,表名是testmytaits)-- ------------------------------ Table structure for testmytaits-- ----------------------------DROP TABLE IF EXISTS `testmytaits原创 2018-01-30 14:25:37 · 467 阅读 · 0 评论 -
SpringBoot集成Mybatis并具有分页功能PageHelper
SpringBoot集成Mybatis并具有分页功能PageHelper环境:IDEA编译工具第一步:生成测试的数据库表和数据SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for user-- ----------------------------DR原创 2018-03-16 14:48:43 · 3305 阅读 · 0 评论 -
SpringCloud组件之(Eureka)的注册服务与发现服务的实践
吐槽:不得不说,学完了Springboot,,发现没学到啥玩应,,将白了就是正常的单体应用多了一个容器,默认给你集成好了tomcat的容器,利用maven的打包方式,管你是几个model的工程,还是单独的model的工程,(ps:吐槽下IDEA和Eclipse的设计思想,能不能吸收点对方好处,IDEA要是吸收了Eclipse的多模块建立工程,独立工作环境的模式,会不会更好一点,eclipse要是吸原创 2018-03-28 09:33:47 · 1556 阅读 · 0 评论 -
centos 安装java到服务器,并运行博客系统
申请一个干净的vps下面这个命令是 查看可用的JDK软件包列表yum search java | grep -i --color JDK继续敲入命令(注意这里面的版本的问题,你敲入的不一定跟我的版本是一样的)yum install -y java-1.8.0-openjdk-devel.x86_64验证安装成功没有java -version看到这里就知道这个java已经安装完毕了接下来,我们开始安...原创 2018-04-18 10:24:45 · 443 阅读 · 0 评论 -
Mybatis自我实践(一)
前提条件准备好这个数据库文件和内容;Student数据库:DROP TABLE IF EXISTS `student`;CREATE TABLE `student` ( `id` int(11) NOT NULL, `age` int(11) DEFAULT NULL, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (原创 2018-05-03 23:10:54 · 241 阅读 · 0 评论 -
Mybatis自我实践(二)一对多关联查询
mybatis 一对多实践操作新建一张部门表--<t_dept>DROP TABLE IF EXISTS `t_dept`;CREATE TABLE `t_dept` ( `id` int(10) NOT NULL AUTO_INCREMENT, `dept_name` varchar(20) DEFAULT NULL,PRIMARY KEY (`i...原创 2018-05-13 20:37:44 · 320 阅读 · 0 评论 -
Redis实践(二)Redis启动&&修改配置文件&&Java的客户端Jedis远连接&&redis的基本API
Redis常用API总结Vim快速跳到文件头&&文件尾部&&定位字符串:1 #快速跳到文件头:$ #快速跳到文件尾部: ?要查询的字符串 #这样就定位到了要查询的字符串了Redis配置文件简单配置:vim...原创 2018-11-15 16:13:48 · 189 阅读 · 0 评论 -
Springboot学习笔记(请求==接收参数)
1、普通的,url里面有参数的怎么取,下面代码@RequestMapping(value="/user" ,method=RequestMethod.GET)public List<User> query(@RequestParam(name="name",defaultValue="xxx",required=true) String name){ List<User> use原创 2017-12-26 16:21:23 · 2589 阅读 · 0 评论