- 博客(16)
- 收藏
- 关注
原创 HashMap连环12问,你顶得住嘛
1问:什么是HashMapHashMap是一个用于存储Key-Value键值对的集合,每一个键值对也叫做Entry。这些个键值对(Entry)分散存储在一个数组当中,这个数组就是HashMap的主干,数组每一个元素的初始值都是Null。这些就是HashMap的定义了。2问:你为什么用到它?HashMap可以接受null键值和值,而Hashtable则不能;HashMap是非synchronized,所以相对而说,HashMap很快;以及HashMap储存的是键值对,以一种数据之间的对应关系。3问
2021-01-12 16:29:34
331
原创 Java多线程之间几种通信方式
前言本篇文章主要介绍Java基础多线程之间通信的一些玩法,并结合一些面试题来实践的1.基于synchronized和java类锁的wait()和notify()这是一道面试题,让字母和数字交叉打印(第一种)/** * @author wanghp * @version 1.0 * @date 2020/6/25 23:03 * Thread.sleep与Object.wait区别 * Thread.sleep需要指定休眠时间,时间一到可继续运行;和锁机制无关,没有加锁也不用释放锁 *
2020-07-30 17:59:49
805
原创 Spring IOC源码解析
前言说到Spring,似乎IOC、DI成为了我们的共鸣。工作中,Spring无处不在,如影随形,Spring给我们开发者带来了一个春天。这么优秀而美丽的框架,我想,源码是值得我们去学习的。入口准备我使用的是spring-framework5.0.x版本,新建一个模块,作为自己的代码编写使用,需要在build.gradle文件引入一些配置和依赖,如下plugins { id 'java'}group 'org.springframework'version '5.0.16.BUILD-S
2020-07-12 10:36:09
7472
原创 JDK8新特性流式操作(我只想快速入门)
前言最近进的公司,刚接触到JDK8流这个鬼东西我也有点不知所措,确实跟我们以前码的代码区别很大,时代在进步,我们得学习!!!废话不多说,直接贴代码//将List转化为流进行过滤(把空的剔除),再通过collect里的Collectors用Student的性别进行分组list.stream().filter(Objects::nonNull).collect(Collectors.grou...
2019-06-25 09:09:22
4498
原创 使用Docker搭建MySQL主从复制(精简版)
如果你在docker已经有了mysql容器的话,我们就可以直接搭建我们的第二个mysql了,也就是slave输入命令找到mysql镜像#查看自己存在的镜像名字docker images#构建容器: run 运行 --name 自定义名字 -d 后台运行 -p指定端口 + 镜像名字docker run --name mysql002 -d -p 3307:3306 ...
2019-05-21 12:26:56
2714
原创 MyCat实现水平分库
MyCat实现水平分库mycat的关键特性支持 SQL 92标准支持Mysql集群,可以作为Proxy使用支持JDBC连接ORACLE、DB2、SQL Server,将其模拟为MySQL Server使用支持galera for mysql集群,percona-cluster或者mariadb cluster,提供高可用性数据分片集群自动故障切换,高可用性支...
2019-05-07 18:43:56
3362
转载 spring的AOP原理,使用场景是什么?
什么是AOPAOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,O...
2019-04-10 15:00:06
3187
原创 SSM框架整合小案例(注释解析还算比较全面)
整合思路:SSM,也就是(SpringMVC+Spring+MyBatis);SSM框架现在在市场上运用地也越来越广泛了,SSM具有速度快、性能高、配置简单等优势,今天我们就来整合一个小案列的,即超市订单管理的用户的登录功能。项目结构:(这个报错没关系哈 ^ - ^)5个resources配置文件:applicationContext-mybatis.xml其实的话吧,有些配置对...
2019-02-23 15:31:03
2825
原创 Spring和MyBatis框架整合的小案例
整合思路:作为Bean容器,Spring框架提供了IOC机制,可以接管所有组件的创建工作并进行依赖管理,因而整合的主要工作就是把MyBatis框架使用中所涉及的核心组件配置到Spring容器中,交给Spring来创建和管理。整合开始----->各部分代码的分层结构:实体类User.java:(记得自己加set和get方法哦^ - ^)UserDao.java:**UserD...
2019-01-23 12:07:55
2939
原创 使用Ajax直接加载页面和使用JSON处理数据再展示给页面的区别
首先,他们的效果都相同,都是在jsp页面上加载内容,Ajax它主要是在Sevlet层将查询到的数据集合放入request中,然后再重定向到要展示数据的jsp页面,也就是说需要展示的数据我已经写好了,我们只需得到request过来的集合遍历输出就好啦,使用很方便,但这种情况也是有一定弊端的,它必须依赖写死的页面,局限性强!一般用这种的项目基本上是结构已经固定了,至少几年内不会变的。再来说Ajax吧...
2019-01-16 19:37:17
2982
原创 MyBatis框架自学时可能会出现的一些错误
经过了一段时间自学MyBatis框架,中途也会遇到各种奇奇怪怪的问题,也可能是我们初学者经常遇到的问题,接下来分享给大家-----> ^- - ^错误1:解决方案: xml映射器中与实体类映射不正确,或者sql有其他错误,修改xml映射器与实体类关联的字段一致就好了!错误2:Java.sql.SQLException:Invaild value for getInt**解决方案:*...
2019-01-09 19:19:12
2868
原创 关于在Spring中IOC输出对象时,为什么会调用实体类重写toString方法。
代码先上吧–>实体类:applicationContext.xml:测试类:运行结果:总结:一般如果我们直接输出对象的话,输出的是实体类对象的信息,比如这里的为(entity.Teacher@17d677df),前面是地址+@符号再+一些哈希code,这里输出实体类重写toString方法原因在于–>在Java中,所有的对象都是继承自Object,自然继承了toStr...
2019-01-07 19:29:52
3418
转载 Spring中获取容器中的Bean为什么前转成接口而不是实现类
简单介绍一下上下文,userService是服务层接口有一个save方法,userServiceImpl是该接口的实现类重写了save方法。applicationContext.xml如图:后台代码如图:问题是:在后台代码当中为什么取到bean后要强转成接口类型(UserService)而不是实现类类型(Us...
2019-01-04 12:05:52
3269
原创 多线程实现多个用户访问服务器端
本次作为一个刚入门的·程序员第一次给大家分享一些学习干货,以后会持续更新…案例使用多线程实现多个用户访问服务器端,服务器显示用户登录信息并提示用户登录成功·服务器代码如下:接下来是自定义的ThreadLogin类,实现了Runnable接口User类(注意-要实现Serializable接口,不然无法实现序列化):客户端1:客户端2,3只需要把User传的有参构造改下方法就可以...
2019-01-02 16:40:48
5912
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人