- 博客(57)
- 收藏
- 关注

转载 Spring常见面试题总结(超详细回答)
1、Spring是什么? Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。常见的配置方式有三种:基于XML的配置、基于注解的配置、基于Java的配置。主要由以下几个模块组成:Spring Core:核心类库,提供IOC服务;Spring Context:提供框架式...
2019-12-20 09:33:43
620
1

转载 大学四年java学习的经验及心得体会
ps:因为自学,和科班生学习java有不一样的感受,特地找了一篇科班学生分享的心得来看看.收获良多一、认清自己认清自己最关键的一点是【要知道自己到底想要什么】。这是第一步,也是最重要的一步。因为这关系到你能够够选对学习方向,能否沉下心来去学习。我们都知道,做自己感兴趣的事情的时候,是可以事半功倍的,因为你愿意去做它,而不是出于某种原因不得不去做。经常会有人问我,现在前端找工作好找么?jav...
2019-12-17 16:55:56
2316
原创 《编程思想》正则表达式学习笔记
String类自带一个正则表达式工具 — split()方法,其功能是"将字符串从正则表达式匹配的地方切开"public class Splitting { public static String knights = "Then, when you have found the shrubbery, you must" + "cut down the mightiest tree in the forest ..." + .
2020-09-08 17:03:55
287
原创 Springboot的事务管理@Transactional
一:简介在Spring中事务可以通过两种方式来管理,一种是编程式事务另一种是声明式事务声明式事务:@Transactional 在方法的开头开始事务,在方法的结束提交事务编程式事务:TransactionTemplate或者PlatformTransactionManager声明式事务和编程式事务的区别:声明式事务开始事务和提交事务都是固定的,不够灵活,而编程式事务通过代码在想要的地方开始事务,在想要的地方提交事务,更加灵活。二:声明式事务:声明式事务:通过AOP对目标方法进行拦截,在方法的开始
2020-08-03 18:31:27
892
原创 java8新特性学习笔记
1.Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法2.lambda表达式:老版本的Java中是如何排列字符串的:List<String> names = Arrays.asList("peter", "anna", "mike", "xenia");Collections.sort(names, new Comparator<String>() { @Override public int c
2020-07-21 18:36:12
288
原创 springboot从入门到放弃
springboot能够帮助我们快速整合第三方框架,内置嵌入Http服务器(Tomcat、Jetty),使用注解代替XML方式,简化XML的配置,使用Java代码启动TomcatSpringBoot和SpringCloud的区别SpringBoot其实是一个快速开发框架,能够帮助我们快速整合第三方常用框架,完全采用注解化、简化XML配置,最终Java应用程序进行执行SpringCloud是一...
2020-07-21 18:33:45
236
原创 MyBatis源码分析
jdbc没有用连接池,操作数据库需要频繁的变动,没有连接池去存储这些数据的话,还有sql语句都写在java代码里,我们就要通过set方法往里面塞数据当我们将中间某个数据删除的时候,后面的代码都需要往前进一位,首先,SqlSessionFactoryBuilder去读取mybatis的配置文件,然后build一个DefaultSqlSessionFactory(2)当我们获取到SqlSessi...
2020-07-21 18:32:54
161
原创 java基础
基础类型:八大类char boolean byte int short long float doublebyte 8位 一个字节封装类:Character Boolean Short Float Double Integer Long ByteTCP三次握手:客户端需要建立连接,发送一个同步序列包SYN报文到服务器并进入一个SYN_SEND状态,服务器接收到数据包之后,检查SYN是否正...
2020-07-21 18:29:57
172
原创 Git原理简单易懂介绍及步骤
是一个分布式的版本管理系统,可以用来备份文件、可以用来记录历史、可以多段共享可以在本地拥有版本库,随时进行版本的后退;建立分支十分的简单;速度足够的快,只要使用一些git命令即可将项目进行版本控制,在命令行中进入项目后,使用git init控制...
2020-07-17 15:59:33
439
转载 zookeeper实现分布式入门
Zookeeper是什么官方文档上这么解释zookeeper,它是一个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。上面的解释有点抽象,简单来说zookeeper=文件系统+监听通知机制。1、 文件系统Zookeeper维护一个类似文件系统的数据结构:...
2020-02-29 20:38:02
284
原创 linux下为redis配置访问密码
1、运行命令:redis-cli2、运行命令:config get requirepass如何之前是没有设置密码的你的requirepass下面的双引号中是为空的3、设置redis密码运行命令:config set requirepass ****(****为你要设置的密码)4、重启redis服务ctrl+C退出当前的命令行模式后运行命令:redis-cli -h 127.0.0.1 -p ...
2020-02-15 23:31:09
325
原创 tomcat的端口被占用的解决方案
1.启动cmd2.查看需要使用的端口号,例如8080输入命令:netstat -ano|findstr 8080显示:此处的“3920”为占用端口的进程号3.杀死占用端口的进程输入命令:taskkill /pid 3920 /f显示:...
2020-02-13 21:28:23
373
原创 mysql5.7的my.ini配置文件在哪里
如果下载好的mysql5.7根目录里没有my.ini配置文件那么应该在C:\ProgramData\MySQL\MySQL Server 5.7 (如果是安装在c盘的话)
2020-02-13 18:56:15
5891
1
原创 关于Eclipse中Spring的配置文件中文变成转义字符问题
打开window下的preferences,搜索框输入Content Types ,找到如下图的java Properties File修改默认编码ISO-8859-1为utf8,保存重新输入即可
2020-02-12 20:21:02
841
原创 Gradle配置及语法笔记,进行中~~~
Gradle一款最新的、功能强大的构建工具Groovy概述(DSL编程语言的一种)基于JVM的敏捷开发语言结合了Python、Ruby和Smalltalk的许多强大的特性groovy可以与Java完美结合,可以使用java所有的库语法上支持动态类型,闭包等新一代语言特性无缝集成所有已经存在的Java类库支持面向对象和面向过程(写脚本用)groovy优势:一种更加敏捷的编程语...
2020-02-11 12:10:21
545
原创 Gradle新手简单介绍
Gradle概述:Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具。它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML。Gradle就是工程的管理,帮我们做了依赖、打包、部署、发布、各种渠道的差异管理等工作。Gradle优势:1.一款最新的,功能最强大的构建工具,用它逼格更高2.使用程序代替传统的XML配置,项目构建更灵活...
2019-12-21 11:02:23
356
原创 Spring入门详细介绍,对新手很友好~~
Spring是什么?Spring是一个开源框架,为了解决企业应用开发的复杂性而创建的,但现在已经不止应用于企业应用是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架从大小与开销两方面而言Spring都是轻量级的通过控制反转(IoC)的技术达到松耦合的目的提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统服务进行内聚性的开发包含并管理应用对象的配置和生命周期,这...
2019-12-20 09:23:54
356
转载 前端开发学习常用网站及介绍(只有你想不到)
在开发的时候,想记住所有的单词基本是不可能的,所以就需要进入文档,只要理清需求能做出来,就很不差了!!1.百度,俗称度娘,有不懂的就问百度,有问必答,跳转2.百度翻译,不懂的单词,复制粘贴就懂了,跳转3.微信小程序开发文档,跳转4.微信公众平台,跳转5.我的 优快云 博客主页,跳转6.菜鸟教程,里面有超级多的开发教程,跳转7.W3C 教程,里面有超级多的开发教程,跳转8.VUE ...
2019-12-20 09:12:14
335
原创 SpringBoot中使用WebSocket后单元测试报错的解决方案
使用了websocket后单元测试全部报错:Failed to load ApplicationContextCaused by: java.lang.IllegalStateException: javax.websocket.server.ServerCon解决方案:SpringBootTest增加webEnvironment 参数。@SpringBootTest(webEnviro...
2019-12-17 16:17:06
1722
转载 关于idea新建子目录时往父目录名字后叠加而不是树形结构的解决方法
我们在IDEA中创建子目录时,子目录总是在父目录后面叠加而不是树形,如下:我们可以打开项目窗口的右上角的设置标志:将红圈选项的√先去掉,创建好子目录后再将它选中就可以...
2019-12-11 10:50:23
441
转载 @Transactional的超详细介绍
@Transactional使用:Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编码式和声明式的两种方式:编程式事务:允许用户在代码中精确定义事务的边界。编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。声明...
2019-12-01 11:19:14
1218
原创 @Service注解的详细简介
@Service的使用首先,在applicationContext.xml文件中加一行:<context:component-scan base-package="com.hzhi.clas"/> 加上这一行以后,将自动扫描路径下面的包,如果一个类带了@Service注解,将自动注册到Spring容器,不需要再在applicationContext.xml文件定义bean了,类...
2019-11-30 21:36:52
4762
转载 SpringBoot中的@AutoWired的用法
@Autowired注解是使用byType方式的byType方式是根据属性类型在容器中寻找bean类@AutowiredNewsService newsService;规则如下:1.Spring先去容器中寻找NewsSevice类型的bean(先不扫描newsService字段)2.若找不到一个bean,会抛出异常3.若找到一个NewsSevice类型的bean,自动匹配,并把be...
2019-11-29 22:30:55
3157
原创 本地hosts文件无法保存,一保存就显示另存为的解决方案
找到hosts文件: C:\Windows\System32\drivers\etc -> 右键属性如果没有权限取消勾勾,去先百度:获取权限
2019-11-29 20:36:16
3661
原创 IDEA的目录突然全变成红色
原因:红色是因为安装了版本控制工具(例如git,svn等),更新了代码,没有提交上去,起提示作用,不影响实际功能;解决办法:选择file–>setting–>version Controller,然后把vcs选项选择为none就ok了。...
2019-11-29 17:25:38
4978
原创 Failed to load ApplicationContext的异常处理
在SpringBoot工具下,没有写Test类,导致获取不到Test类的路径
2019-11-29 12:21:37
1037
原创 Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest
使用SpringBoot进行Test测试的时候:Test的包和主程序对用的包路径不对
2019-11-29 12:08:17
236
原创 java.lang.Exception: No runnable methods的解决办法
1.在测试的时候没有加上@Test2.@Test导入的包错了,spring-test需要的Junit是org.junit.Test,但是在@Test有两个包,另一个是org.junit.jupiter.api.Test,如果将org.junit.Test导错成了org.junit.jupiter.api.Test就会报这个错误,改正包之后问题解决...
2019-11-29 11:20:48
862
1
原创 操作系统
操作系统是管理计算机硬件和软件资源的计算机程序为什么需要操作系统:我们不可能直接操作计算机硬件,需要同一界面进程:就绪状态:其他资源已准备好,只差CPU分配资源执行状态:获得CPU资源,立即执行阻塞状态:执行过程中,其他设备未就绪无法继续执行,放弃CPU的状态创建状态:创建但资源并未准备就绪终止状态:执行完成进程同步:临界资源指的是一些虽作为共享资源却又无法同时被多个线程共同访问...
2019-11-29 10:22:09
227
转载 Spring中DAO层、Service层、Controller层的定义
1、dao层dao层主要做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,dao层的设计首先是设计dao层的接口,然后在Spring的配置文件中定义此接口的实现类,就可以在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,dao层的数据源配置,以及有关数据库连接参数都在Spring配置文件中进行配置。2、service层service层...
2019-11-28 10:45:21
3412
原创 java枚举类的注意事项
不要在枚举类里面定义 name 属性,因为枚举类有自定义的name属性枚举类的特殊性:枚举可以加一些自定义变量,枚举是单例的,它也可以有构造方法,只是默认情况下不是而已,也可以提供自定义的变量,然后获取set、get方法,但是如果有set的话,线程不是安全的;所以一般是构造方法就可以;枚举类是 final 类,可以使用Lombock的注解@Getter...
2019-11-28 10:31:35
769
原创 @Autowired注解的作用
@Autowired为Spring提供的注解,需要导入包org.springframework.beans.factory.annotation.Autowired。@Autowired采取的策略为按照类型注入。public class UserService { @Autowired private UserDao userDao; }如上代码所示,这样装配回去spri...
2019-11-28 10:21:08
5908
2
原创 IDEA下配置meaven镜像
作用:加快在IDEA中Meaven的下载速度打开系统用户目录:C:\Users\H.m2,如果没有此目录,手动cmd->mkdir .m2中创建一下(直接创建不了)。然后将maven的配置文件settings.xml拷贝到此目录下,然后修改settings.xml内容,在mirrors段内增加镜像配置,配置后如下:<?xml version="1.0" encoding="UTF...
2019-11-17 19:34:44
990
原创 java面试直通车之网络技术
网络基础知识讲解:第1层 (物理层):机械、电子、定时接口通信信道上的原始比特流传输第2层(数据链路层):物理寻址、同时将原始比特流转变为逻辑传输线路第3层(网络层):通知子网的运行、如逻辑编址、分组传输、路由选择第4层(传输层):接收上一层的数据,在必要的时候把数据进行分割,并将这些数据交给网络层,且保证这些数据段有效到达对端第5层(会话层):不同机器上的用户之间建立及管理会话第6层...
2019-11-12 21:10:50
369
原创 计算机网络
ARP协议与RARP协议:ARP:地址解析协议(将网络层IP31位地址转化为数据链路层MAC48位地址)该包含有IP地址对应的MAC地址时,ARP直接将其MAC地址告知下一站,当没有MAC地址时,ARP会将要转发的IP地址以广播的形式播放,所有附近的端口接收并检查是否是自己的IP,是就回传一个MAC地址给ARP,ARP再发送MAC地址.ARP缓存表的记录并不是永久有效ARP -a命令,查看...
2019-11-12 16:54:51
414
原创 java中length()、length和size()的区别和用法
size()是获取泛型集合的长度length是获取数组的长度length()是获取字符串的长度
2019-11-04 10:04:36
267
原创 js中let和var的区别
js中let和var定义变量的区别,主要体现在作用域的不同:var定义的变量是全局变量或者函数变量。let定义的变量是块级的变量
2019-10-17 22:52:13
318
转载 利用“异步确保模式”实现最终一致性
很多时候, 有这样一种场景:A系统需要把信息通知给B系统(例如支付系统中的入账操作), 需要保证通知消息一定成功,且相对均匀地推, 怎么搞呢?异步重试法就可以轻松搞定, 实现起来很简单, 关键是思路:...
2019-10-17 21:26:03
582
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人