04 2021 档案

摘要:一:Lock锁(去别synchronized,Lock是显示的定义同步锁,而synchronized是隐式的定的不知道锁的谁) ①从jdk5.0开始,java提供了更强大的线程同步机制--通过显示定义同步锁对象来实现同步。同步锁使用Lock对象充当 ②java.util‘.concurrent.lo 阅读全文
posted @ 2021-04-30 17:24 iLisa 阅读(106) 评论(0) 推荐(0) 编辑
摘要:一:死锁 ①多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致俩个或多个线程都在等待对方释放资源,都停止执行的情形,某一个同步块同时拥有“俩个以上对象的锁”时,就可能发生死锁的问题。 ②产生死锁的是个必要条件 A互斥条件:一个资源每次只能被一个进程使用 B请求与保持条件:一 阅读全文
posted @ 2021-04-30 16:52 iLisa 阅读(62) 评论(0) 推荐(0) 编辑
摘要:一:解决自己以前的疑问 比如:创建三个对象 class Test7 implements Runnable{ private int i=10; @Override public void run() { System.out.println(Thread.currentThread().getNa 阅读全文
posted @ 2021-04-30 15:40 iLisa 阅读(133) 评论(0) 推荐(0) 编辑
摘要:一:线程礼让 ①礼让线程,让当前正在执行的线程暂停,但不阻塞 ②将线程从运行状态转为就绪状态 ③让cpu重新调度,礼让不一定成功,看cpu 其实yield的作用就是让我们的运行时的线程转变为就绪状态的线程,和那些就绪的线程一起竞争 class Yield implements Runnable{ p 阅读全文
posted @ 2021-04-30 11:59 iLisa 阅读(103) 评论(0) 推荐(0) 编辑
摘要:一:线程状态 ①新建:Thread t=new Thread();线程对象一旦创建就进入到新生状态。 ②就绪:当我们调用start()方法,线程立即进入就绪状态,但不意味立即调度执行。 ③运行:运行run()方法(是我们进入就绪状态后,我们cpu调用我们的线程我们就开始执行run方法),进入运行状态 阅读全文
posted @ 2021-04-30 09:46 iLisa 阅读(117) 评论(0) 推荐(0) 编辑
摘要:一:进程的概念 电脑中时会有很多单独运行的程序,每个程序有一个独立的进程,而进程之间是相互独立存在的。比如下图中的QQ、酷狗播放器、电脑管家等等。 二:多线程的概念 进程想要执行任务就需要依赖线程。换句话说,就是进程中的最小执行单位就是线程,并且一个进程中至少有一个线程。 那什么是多线程?提到多线程 阅读全文
posted @ 2021-04-30 09:05 iLisa 阅读(47) 评论(0) 推荐(0) 编辑
摘要:一:理解Functional Interface(函数式接口)是学习Java8 lamda表达式的关键所在 Lamda表达式使用条件:前提是接口为函数式接口;(函数式接口是指接口中只有一个方法) Lamda表达式主要是将我们的匿名内部类省略后的结果(匿名内部类主要是要接口实现的:没有实现类) pub 阅读全文
posted @ 2021-04-29 17:35 iLisa 阅读(145) 评论(0) 推荐(0) 编辑
摘要:一:访问权限 往往在初学Java的时候,都不会提访问权限和修饰符的问题,在Java的学习中一般都要到包的概念学完才会涉及访问控制: priavte 本类可见 public 所有类可见 protected 本包和所有子类都可见(本包中的子类非子类均可访问,不同包中的子类可以访问,不是子类不能访问) f 阅读全文
posted @ 2021-04-28 11:17 iLisa 阅读(88) 评论(0) 推荐(0) 编辑
摘要:一:先进行一下总结 package test; public class aaa { public static void main(String[] args) { Dai dai=new Dai(new You()); dai.chi(); } } interface Mam{ public v 阅读全文
posted @ 2021-04-27 18:36 iLisa 阅读(51) 评论(0) 推荐(0) 编辑
摘要:一:实现Callable接口(了解) ①实现Callable接口,需要返回值类型 ②重写call()方法,需要抛出异常 ③创建目标对象 ④创建执行服务: ExecuteService ser=Executors.newFixedThreadPool(1); ⑤提交执行: Future<Boolean 阅读全文
posted @ 2021-04-27 17:39 iLisa 阅读(119) 评论(0) 推荐(0) 编辑
摘要:一:子类可以继承父类的私有属性和方法吗 不能继承:一个对象可以直接操作自己的private属性,如果用子类对象直接操作父类的私有属性,编译器会提示invisible。 因此肯定不是“继承”,来自父类的私有属性与子类自己的私有属性是不同的。 同时,我们可以在子类中通过父类的getter/setter方 阅读全文
posted @ 2021-04-27 12:13 iLisa 阅读(168) 评论(0) 推荐(0) 编辑
摘要:一:线程的实现(重点) 1.普通线程和多线程的区别 当我们是第一个图的时候,我们首先主线程后,调用run方法后我们就会一直执行run方法,知道run方法执行结束后,我们才能继续执行我们的主线程; 当我们第二图的时候,我们首先主线程,到调用start方法后,我们主线程和子线程可以同时执行。互补干扰。 阅读全文
posted @ 2021-04-23 17:08 iLisa 阅读(74) 评论(0) 推荐(0) 编辑
摘要:生命周期和作用域是非常重要的,因为错误的使用会导致严重的并发问题。 使用模型图:我们的mybatis-config.xml就是为了配置SqlSessionFactoryBuilder; SqlSessionFactoryBuilder: · 一旦 创建了SqlSessionFactory,就不再需要 阅读全文
posted @ 2021-04-12 13:52 iLisa 阅读(65) 评论(0) 推荐(0) 编辑
摘要:一:配置解析 1.核心配置文件 mybatis-config.xml MyBatis的配置文件包含了会深深影响MyBatis行为的设置和属性信息。 MyBatis中一共有俩种事务管理器:一种JDBC(就是直接使用了JDBC的提交和回滚设置,它依赖于从数据源得到的连接来管理事务作用域)另一种MANAG 阅读全文
posted @ 2021-04-08 12:26 iLisa 阅读(90) 评论(0) 推荐(0) 编辑
摘要:一:万能的Map 假设,我们的实体类,或者数据库中的表,字段或者参数过多,我们应该考虑使用Map! 为什么会出现Map? 当我们进行修改密码的时候,只需一个id和密码的时候,那这个时候我们传一个实体就有点过大(实体的话我们要将实体属性都赋值一下)那么我们传一个map集合的话就只需要传一个id和密码就 阅读全文
posted @ 2021-04-08 10:14 iLisa 阅读(102) 评论(0) 推荐(0) 编辑
摘要:一:CURD(当我们进行增删改的时候注意要提交事务) 1.namespace namespace中的包名要和接口的包名一致! 2.select 选择,查询语句: ·id:就是对应的namespace中的方法名 ·resultType:Sql语句执行的返回值 ·parameterType:参数类型 ① 阅读全文
posted @ 2021-04-07 18:55 iLisa 阅读(79) 评论(0) 推荐(0) 编辑
摘要:一:简单介绍MyBatis 1.1、什么是Mybatis MyBatis是一款优秀的持久层框架 它支持定制化SQL、存储过程以及高级映射。 MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。 MyBatis 可以使用简单的XML或注解来配置和映射原生类型、接口和Java的 PO 阅读全文
posted @ 2021-04-07 18:23 iLisa 阅读(92) 评论(0) 推荐(0) 编辑
摘要:一:什么是Aop 1.概念 2.实列图 3.Aop在Spring的使用 二:使用Spring实现Aop 【重点】使用Aop织入,需要导入一个依赖包 方式一:使用Spring的接口 1.写一个log的前置 2.log的后置 3.application.xml配置 4.测试类 5.接口 方式二:使用自定 阅读全文
posted @ 2021-04-07 11:14 iLisa 阅读(72) 评论(0) 推荐(0) 编辑
摘要:一:动态代理 ·动态代理和静态代理角色一样 ·动态代理的代理类是动态生成的,不是我们直接写好的。 ·动态代理分为俩大类:基于接口的动态代理,基于类的动态代理 基于接口 JDK动态代理【我们在这里使用】 基于类:cglib java字节码实现:javasist 需要理解俩个类:Proxy:代理, In 阅读全文
posted @ 2021-04-06 16:26 iLisa 阅读(168) 评论(0) 推荐(0) 编辑
摘要:一:代理模式 为什么要学习代理模式: 因为我们的SpringAop的底层就是【SpringAop和SpringMVC】 代理模式的分类: 静态代理: 动态代理: 二:静态代理 角色分析: 抽象角色:一般会使用接口或者抽象类来解决 真实角色:被代理的角色 代理角色:代理真实角色,代理真实角色后,我们一 阅读全文
posted @ 2021-04-06 12:46 iLisa 阅读(66) 评论(0) 推荐(0) 编辑
摘要:一:我们将xml文件写成我们的java类(完全使用java的方式配置Spring) 我们现在要完全不使用Spring的xml配置了,全权交给java来做 JavaConfig是Spring的一个子项目,它成为了一个核心功能! 以前用的是ClassPathXml现在用的是AnnotationConfi 阅读全文
posted @ 2021-04-06 12:13 iLisa 阅读(105) 评论(0) 推荐(0) 编辑
摘要:一:使用注解开发 在Spring4之后,要使用注解开发,必须保证aop的包导入了 使用注解需要导入context约束,增加注解的支持。 1.bean 2.属性如何注入 3.衍生的注解 @Component有几个衍生注解,我们在web开发中,会按照mvc三层架构分层! dao 【@Repository 阅读全文
posted @ 2021-04-06 11:24 iLisa 阅读(62) 评论(0) 推荐(0) 编辑
摘要:一:注解实现自动装配 1.导入约束:context约束 2. 配置注解的支持: @Autowired 直接在属性上使用即可,也可以在set方式上使用! 使用Autowired我们可以不用编写Set方法了,前提是你这个自动装配的属性在IOC(Spring)容器中存在,且符合名字byname 如下(不写 阅读全文
posted @ 2021-04-06 10:35 iLisa 阅读(227) 评论(0) 推荐(0) 编辑
摘要:一:我们以前都是自己装配(我们这里自动装配指的是装配属性) 1.我们的实体类 2.xml实现配置属性(我们手动装配) 二:自动装配是Spring满足bean依赖的一种方式 Spring会在上下文中自动寻找,并自动给bean装配属性 在Spring中有三种装配方式: 1.在xml中显示的配置 2.在j 阅读全文
posted @ 2021-04-05 22:29 iLisa 阅读(118) 评论(0) 推荐(0) 编辑
摘要:一:采用无参构造创建对象,默认! 二:假设我们采用有参构造创建对象 总结:在配置文件加载的时候,容器中管理的对象就已经初始化了。 三:Spring的配置说明 1.别名 2.Bean的配置 3.import 这个import,一般用于团队开发使用,他可以将多个配置文件导入一个合并为一个。 假设现在项目 阅读全文
posted @ 2021-04-05 21:06 iLisa 阅读(77) 评论(0) 推荐(0) 编辑
摘要:一:写一个HelloSpring类 二:写XML配置放入Spring容器中将类 三:写测试类 我们这里的Hello hello = (Hello) context.getBean("Hello"); 也可以写成Hello hello =context.getBean(“hello”,Hello.cl 阅读全文
posted @ 2021-04-05 16:42 iLisa 阅读(48) 评论(0) 推荐(0) 编辑
摘要:一:IOC理论推导 控制反转:之前,程序是主动创建对象!控制权在程序员手上! 使用了Set注入后,程序不再具有主动性,而是变成了被动的接收对象! private UserDao userDao; //利用set进行动态实现值的注入 public void setUserDao(UserDao use 阅读全文
posted @ 2021-04-05 16:22 iLisa 阅读(61) 评论(0) 推荐(0) 编辑
摘要:一:Spring的优点 1.Spring是一个开源的免费的框架(是bean的容器),用来管理bean的生命周期,处理bean与bean之间的关系。 2.Spring是一个轻量级的,非入侵式的框架。 3.控制反转(ioc)我们将bean都注入到spring容器中,spring来管理bean的生命周期, 阅读全文
posted @ 2021-04-02 09:47 iLisa 阅读(101) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示