![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java开发
文章平均质量分 67
sdfreregtrh
这个作者很懒,什么都没留下…
展开
-
Spring学习03:事务管理机制
spring底层的事务实现就依赖如下的三个接口:可以看到事务管理器PlatfromTranscationManger这个接口里的三个事务相关的方法依赖于TransactionStatus 和 TransactionDefinition这两个接口,所以上面说的是事务实现与这三个接口相关PlatfromTranscationManger只是一个接口,根据dao层的不同的框架,有不同的事务管理器的实现,我们常用的就是dao层基于jdbc或者ibatis的DataSourceTransactionManag原创 2020-07-14 22:11:38 · 220 阅读 · 0 评论 -
Cookie与Session的原理
cookiehttp请求是无状态的,也就是每个请求都是相互的隔离的,那么共享数据是更不可能的了,那么cookie就实现了数据之间的共享,服务端生成了cookie,然后发送到客户端,那么客户端每次发请求的时候都会将cookie携带上,那么就是实现了数据的共享同一个会话过程中只会有一个session域,就用这个域来共享数据session是保存在服务器中的,那么如果有多个会话,那么服务器是怎么判断哪个session,对应的是哪个会话呢??这个由系统创建的cookie的有效期是会话原创 2020-07-09 21:52:22 · 282 阅读 · 0 评论 -
Java中三大器之拦截器与过滤器与监听器
拦截器:拦截的是action的请求,拦截不了不进action的请求,这与他的底层实现有关系,底层是通过责任链和AOP来实现的,也就是说是通过动态代理来实现的先手动写一个拦截器代码(责任链和AOP,spring对这部分底层进行了包装,工作中我们直接用spring来写拦截器就行)先定义一个拦截器抽象类自定义一个打印目标方法的拦截器定义一个统计接口的调用时长的拦截器定义统计一个方法调用次数,调用成功次数,调用失败次数的拦截器定义一个拦截器链,所以的拦截器都保存在一个链表里原创 2020-06-19 14:51:00 · 911 阅读 · 0 评论 -
BIO到NIO到多路复用
视频学习地址BIO与NIO,多路复用通用客户端public class Client { public static void main(String[] args) throws IOException { Socket socket=new Socket(); socket.connect(new InetSocketAddress("127.0.0.1",9876)); Scanner scanner=new Scanner(System.i原创 2020-06-16 18:12:27 · 211 阅读 · 0 评论 -
Mybatis底层源码以及与spring整合的源码
**视频资料:点击跳转**一. Mybatis底层源码mybatis单独使用的时候,具体使用步骤是,先创建一个SqlSessionFactory(我这里是模拟,所以赋值为null),然后由SqlSessionFactory创建出一个SqlSession,再由SqlSession.getMapper(CityMapper.class)产生一个CityMapper.class的动态代理的对象下面为了更好的了解mybtis的底层实现,我们先手动的模拟的写一个mybatis(SqlSessionFact原创 2020-06-12 16:25:04 · 300 阅读 · 0 评论 -
Spring底层源码分析
如何快速大家一个spring容器:导入spring依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.7.RELEASE</version> </dependenc原创 2020-06-11 23:44:27 · 670 阅读 · 0 评论 -
Springmvc的底层详细流程
二、SpringMVC组件配置或开发说明根据前面所说,部分组件需要配置,部分组件需要程序员开发,接下来就介绍下如何配置和开发相关的组件。配置前端控制器(DispatcherServlet)在web project的web.xml中配置:<!-- 配置前端控制器DispatcherServlet --><servlet> <servlet-name>springmvc</servlet-name> <servlet-cl...原创 2020-06-05 12:55:32 · 245 阅读 · 0 评论 -
注解的作用
下面的代码就是用@AutoWired为例来演示注解具体有什么作用例子中循环判断UserControllerl类中的每个字段上是否标有@AutoWired的注解field.getAnnotation(AutoWired.class)就可以获取到这个字段上标注的@AutoWired对象,如果获取到了注解对象有的话,就说明这个字段上面标注了这个注解,可以进行下一步的处理,比如赋值等,如果没有获取到的话,可以做别的处理,或者直接不处理所以加注解就是起了一个标记的作用而已,后续可以做一些筛选的操作...原创 2020-06-04 21:23:02 · 365 阅读 · 0 评论 -
【Redis】1.Redis入门简介以及基本操作命令
学习资料https://www.bilibili.com/video/BV1CJ411m7Gc?p=6问题的抛出出现的问题:海量用户高并发罪魁祸首——关系型数据库:性能瓶颈:磁盘IO性能低下扩展瓶颈:数据关系复杂,扩展性差,不便于大规模集群解决思路降低磁盘IO次数,越低越好 —— 内存存储去除数据间的关系,越简单越好 —— 不存储关系,仅存储数据Nosql简介NoSQL:即Not-OnlySQL(泛指非关系型的数据库),作为关系型数据库的补充。作用:应用对于海量用原创 2020-06-03 14:40:01 · 143 阅读 · 0 评论 -
xml文档书写
<?xml version ="1.0" encoding="utf-8" ?> <!--xml文档的标准开头,说明这个是xml文档,使用版本是1.0,在这个文档中可以使用中文--><!--①xml语法: 1 html是从xml演化出来的一个编程语言,xml和html是父子关系,html只不过在xml的基础上 事先规定了哪些标签哪些标签不可用,而xml是标签可以任意写,所以被所有浏览器拒绝,因 为解析起来很麻烦,大原创 2020-05-19 12:36:25 · 425 阅读 · 0 评论 -
Java的反射原理
视频讲解地址:https://www.bilibili.com/video/BV1Rx41197TC?from=search&seid=16603952049666504496反射到底是什么意思?提出的目的是什么?反射机制:Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用...原创 2020-04-16 18:47:46 · 917 阅读 · 0 评论 -
Java 集合类的理解
集合类就是可以一次存储多个数据,那么也就是说和数组的作用是一样的,那么已经存在数组,为什么还要提出集合呢??原因主要有两点:①数组只能存放类型相同的一组数据②在定义数组的时候必须初始化数组大小,也就是数组长度不能动态增长Java中集合类只要分为两大体系(Collection和map) Collection又分为list接口和set接口(list可重复且有序,set不可重复且无序)Map接口...原创 2020-04-14 20:41:41 · 161 阅读 · 0 评论 -
为什么要实现Serializable
先看参考链接https://developer.51cto.com/art/201905/596334.htm再看参考链接https://www.cnblogs.com/hhhshct/p/9664390.html原创 2020-04-03 10:19:38 · 69 阅读 · 0 评论 -
iterator(迭代器)的使用
参考地址:https://www.cnblogs.com/wmcoder/p/6072951.html没有迭代器的时候,对于不同类型的集合我们有不同的遍历方法①对于数组我们是使用下标来进行处理的:int[] arrays = new int[10]; for(int i = 0 ; i < arrays.length ; i++){ int a = arrays[...原创 2020-04-01 14:09:47 · 154 阅读 · 0 评论 -
JSON串的两种格式
JSON有两种数据结构:1、名称/值对的集合:key : value样式;比如:{“age”:18,“key”:true,“grade”:,name":“hdl”,“People”:{ “name”:“Peter”, “age”:20, “score”: 50.05},“array”:[1,2,“3”]}键必须是字符串,并且应该是唯一的,值可以是下面几种类型2、值的有序列表:就是Arra...原创 2020-03-31 13:53:40 · 1136 阅读 · 1 评论 -
equal和hashcode详解
想要弄明白hashCode的作用,必须要先知道Java中的集合。 总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。这里就引出一个问题:要想保证元素不重复,可两个元素是否重复应该依据什么来判断呢?这就是Object.equals方法了。但是,如果每增加一个元素就检查一次,那么当元素...原创 2020-03-24 16:45:24 · 340 阅读 · 0 评论 -
servlet的原理
视频讲解:https://www.bilibili.com/video/av53238529?from=search&seid=2029128737236836745原创 2020-03-10 19:45:49 · 135 阅读 · 0 评论 -
Cookie与session的使用
视频讲解:https://www.bilibili.com/video/av65756779?from=search&seid=6491955331490937812视频时间不是很长,不懂的话可以进行查看原创 2020-03-07 11:01:34 · 67 阅读 · 0 评论 -
SSM框架的搭建
视频教学地址:https://www.bilibili.com/video/av35988777?p=1项目构建流程可参考下面的项目完成上面的SSM构建流程①先直接复制里面的pom.xml②引入前端框架bootstrap,以及jquery(先将文件导入,再在jsp文件中引入)③复制resources中的配置文件(改一下连接数据库的配置文件jdbcConfig.properties)...原创 2020-02-26 16:03:11 · 114 阅读 · 0 评论 -
SpringMVC传参中文乱码问题
参考链接:https://www.cnblogs.com/youcong/p/9629741.html原创 2020-02-22 23:42:13 · 224 阅读 · 0 评论 -
IDEA中常用快捷键
Alt+Enter 手动导包Ctrl+n 查找第三方函数原创 2020-02-04 19:34:26 · 57 阅读 · 0 评论 -
Spring学习04:事务控制(TransactionManager)
Spring事务控制JavaEE 体系进行分层开发,事务处理位于业务层,Spring提供了分层设计业务层的事务处理解决方案,Spring 框架为我们提供了一组事务控制的接口,这组接口在spring-tx-5.0.2.RELEASE.jar中Spring 的事务控制都是基于AOP的,它既可以使用配置的方式实现,也可以使用编程的方式实现.推荐使用配置方式实现.数据库事务的基础知识...原创 2020-01-08 20:59:01 · 391 阅读 · 0 评论 -
Spring学习03:数据库操作模板JdbcTemplate
JdbcTemplate概述JdbcTemplate是Spring框架中提供的一个对象,对原始的JDBC API进行简单封装,不用直接使用JDBC对数据库操作了,简化了对数据库的操作,其用法与DBUtils类似.JdbcTemplate对象的创建一. 创建对象首先需要配置一个数据源配置C3P0数据源:使用C3P0数据源,需要在bean.xml中配置如下:<bean id="...原创 2020-01-08 18:09:27 · 102 阅读 · 0 评论 -
Spring学习02:面向切面编程(AOP)
首先看一下为什么要引进AOP实例:实现从账户A像账户B进行转账,也就是需要在service层中加入事务控制逻辑,事务控制的一般逻辑就是所有数据库处理都用同一个连接,还要取消默认的自动提交设置(用事务控制来体现AOP)创建工具类ConnectionUtils,用于生成连接/** * 连接的工具类,它用于从数据源中获取一个连接,并且实现和线程的绑定 */public class Con...原创 2020-01-07 20:14:02 · 231 阅读 · 0 评论 -
Spring学习01:控制反转(IOC)与依赖注入(DI)
首先来说明什么是控制反转,为什么要提出IOC和DI耦合: 程序间的依赖关系.在开发中,应该做到解决编译期依赖,即编译期不依赖,运行时才依赖.解耦的思路: 使用反射来创建对象,而避免使用new关键字,并通过读取配置文件来获取要创建的对象全限定类名.解耦实例1: JDBC驱动注册JDBC操作中注册驱动时,我们不使用DriverManager的register方法,而采用Class.forN...原创 2020-01-07 16:36:22 · 136 阅读 · 0 评论 -
java线程使用之综合问题考虑(消费者生产者问题,有同步有通信)
/** * 线程通信的应用:经典例题:生产者/消费者问题 * * * 生产者(Productor)将产品交给店员(Clerk),而消费者(Customer)从店员处取走产品, * 店员一次只能持有固定数量的产品(比如:20),如果生产者试图生产更多的产品,店员 * 会叫生产者停一下,如果店中有空位放产品了再通知生产者继续生产;如果店中没有产品 * 了,店员会告诉消费者等一下,如果店中...原创 2020-01-06 19:56:23 · 130 阅读 · 0 评论 -
Java线程使用之线程通信
/** * 线程通信的例子:使用两个线程打印 1-100。线程1, 线程2 交替打印,也就是线程1打印1,线程2打印2,线程1打印3,线程2打印4,交替打印 * * 线程通信涉及到的三个方法: * wait():一旦执行此方法,当前线程就进入阻塞状态,并释放同步监视器。 * notify():一旦执行此方法,就会唤醒被wait的一个线程。如果有多个线程被wait,就唤醒优先级高的那个。...原创 2020-01-06 19:51:28 · 109 阅读 · 0 评论 -
Java线程使用之线程死锁
/* * 演示线程的死锁问题 * * 1.死锁的理解:不同的线程分别占用对方需要的同步资源不放弃, * 都在等待对方放弃自己需要的同步资源,就形成了线程的死锁 * * 2.说明: * 1)出现死锁后,不会出现异常,不会出现提示,只是所有的线程都处于阻塞状态,无法继续 * 2)我们使用同步时,要避免出现死锁。 * *如何解决死锁:尽可能少的使用嵌套的同步机制,尽量避免一个进程锁s...原创 2020-01-06 18:37:49 · 49 阅读 · 0 评论 -
Java线程使用之同步机制
线程安全问题描述package atguigu.java;/** * * 例子:创建三个窗口卖票,总票数为100张.使用继承Thread类的方式 * * 由于共享了ticket变量,结果会出现卖重票和错误票的问题,也就是存在线程的安全问题,待解决。 * */class Window extends Thread{ private static int ticket...原创 2020-01-06 17:07:36 · 138 阅读 · 0 评论 -
java线程使用之线程的创建
线程的两种创建方法/** * 多线程的创建,方式一:继承于Thread类 * 1. 创建一个继承于Thread类的子类 * 2. 重写Thread类的run() --> 将此线程执行的操作声明在run()中 * 3. 创建Thread类的子类的对象 * 4. 通过此对象调用start() * <p> * 例子:遍历100以内的所有的偶数 * * @author...原创 2020-01-06 16:23:27 · 84 阅读 · 0 评论 -
Java中编码问题
编码讲解(字符集):https://www.bilibili.com/video/av48144058?p=602原创 2019-12-31 19:18:55 · 70 阅读 · 0 评论 -
Java中IO流的使用
IO流操作讲解视频:https://www.bilibili.com/video/av48144058?p=585首先要知道什么是IO流:将文件中的内容读到程序(内存),或者将程序中的数据写到文件(硬盘),这叫做IO流操作.也就是说对于文件的操作就叫做IO流操作按照文件内容的不同分为字节流和字符流,当文件中存的是文字,也就是纯文本文件的时候,那么就是字符流,如果是一段视频,一个图片等等,那么就...原创 2019-12-31 19:16:48 · 122 阅读 · 0 评论 -
JDBC的使用
建一个配置文件 jdbc.properties,好处就是不用在Java代码中将连接写死写一个工具类JDBCUtils,将对数据库的通用操作封装在这个类里,一个是获取数据库连接操作(getConnection),一个是结束数据库操作后,对资源进行释放(getclose)public static Connection getConnection(){ //加在载配置文件 (getResou...原创 2019-12-30 21:07:50 · 172 阅读 · 0 评论 -
java 折半查找
public class TestBinarySearch {public static int binarySearch(int a[],int goal){int high=a.length-1;int low=0;while (low<=high) {int middle=(low+high)/2;if (a[middle]==goal) {return middle;...原创 2019-12-24 15:47:24 · 64 阅读 · 0 评论 -
Java 冒泡排序
冒泡排序算法: public static void main(String[] args) { int[] values = { 3, 1, 6, 2, 9, 0, 7, 4, 5, 8 }; bubbleSort(values); System.out.println(Arrays.toString(values)); } ...原创 2019-12-24 15:41:10 · 39 阅读 · 0 评论 -
Eclipse下载与安装已经jdk的配置
Eclipse下载与安装:https://blog.csdn.net/daodanxiansheng/article/details/82497324jdk的下载安装与配置:https://blog.csdn.net/nobb111/article/details/77116259如何在eclipse中配置jdk:https://www.cnblogs.com/heqiyoujing/p...原创 2019-12-20 19:26:08 · 92 阅读 · 0 评论 -
常用数据结构
常用八大数据结构总结:https://blog.csdn.net/yeyazhishang/article/details/82353846数组在Java中的具体使用:数据在这里就不展开说了栈在Java中的具体使用:https://blog.csdn.net/qq_42124842/article/details/91420306队列在Java中的具体使用:https://www.r...原创 2019-12-19 19:48:12 · 55 阅读 · 0 评论 -
el表达式(jsp提供的表达语言)以及 如何在jsp中写Java代码
el表达式参考链接:https://baike.baidu.com/item/EL%E8%A1%A8%E8%BE%BE%E5%BC%8F/1190845?fr=aladdinel的提出就是为了在jsp中尽可能少的写Java代码如何在jsp中写Java代码(html中不能写Java代码)参考链接 https://www.jb51.net/article/155410.htm...原创 2019-12-19 15:16:58 · 563 阅读 · 0 评论 -
对于httpServletrequest的理解
参考链接:https://www.cnblogs.com/yanze/p/11058474.html原创 2019-12-18 18:35:24 · 143 阅读 · 0 评论 -
JSP中page,request,session,application四个域对象区别 以及常用cookie的理解
1、区别:1.page指当前页面有效。只在当前这个jsp页面里有效2.request 指在一次请求的全过程中有效,即从http请求到服务器处理结束,返回响应的整个过程,存放在HttpServletRequest对象中。只要不进行下一个请求就都有效3.Session是用户全局变量,在整个会话期间都有效。只要浏览器不关闭就一直有效(或者直到用户一直未活动导致会话过期,默认session过期时间为...原创 2019-12-17 19:19:54 · 2190 阅读 · 0 评论