自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 Mybatis的一级缓存和二级缓存

为什么使用缓存?所谓的缓存,就是将程序或系统经常要调用的对象(临时数据)存在内存中,一遍其使用时可以快速调用,不必再去创建新的重复的实例。这样做可以减少系统的开销,提高效率。使用缓存是为了减少和数据库的交互次数,提高执行效率。什么样的数据能使用缓存,什么样的数据不能使用?经常查询并且不经常改变的,并且的数据的正确与否对最终结果影响不大的、不适用于缓存的数据:经常改变的数据,数据的正确与否对最终结果影响很大的。一级缓存:它指的是Mybatis中sqlSession对象的缓存,当我们执行查询以后,查询的

2020-10-11 13:06:40 257

原创 @RequestParam和@RequestBody

2020-09-14 23:12:02 106

原创 spring-mvc原理图

2020-09-14 23:09:50 118

原创 mysql引擎,BTree和B+Tree和锁

1.MySQL存储引擎引擎的概念生活中,引擎就是整个机器运行的核心,不同的引擎具备不同的功能。(五菱宏光和法拉利的引擎)MySQL存储引擎的概念MySQL数据库使用不同的机制存取表文件,差别在于不同的存储方式、索引技巧、锁定水平,不同的技术及配套的功能称为存储引擎.在关系型数据库中数据的存储是以表的形式存进行储的,存储引擎也可以称为表类型.Oracle , SqlServer等数据库只有一种存储引擎,MySQL支持的存储引擎有多种,最常用的三种是InnoDB、MyISAM、MEMORY。通过

2020-09-11 14:28:28 300

原创 环绕通知

2020-09-08 19:23:01 102

原创 spring-mybatis

@Component@Controller ----------> 定义web/controller层的bean@Service ------------> 定义service层的bean@Repository ----------> 定义dao层的bean等同于<bean id="bookDao" class="com.cast.dao.impl.BookDaoImpl">

2020-09-07 20:52:16 88

原创 pol读写Excel

/** * pol写excel */public class ExcelTest { public static void main(String[] args) throws IOException { SqlSession sqlSession = MapperFactory.getSqlSession(); DeptDao mapper = sqlSession.getMapper(DeptDao.class); List<Dept&

2020-09-04 19:23:47 459

原创 Redis

高并发就会造成我们的服务器瘫痪,核心本质是什么呢?其实并不是我们的应用服务器,而是我们的关系型数据库。关系型数据库才是最终的罪魁祸首!造成原因1.性能瓶颈:磁盘IO性能低下(关系型数据库菜存取数据的时候和读取数据的时候他要走磁盘IO).2.扩展瓶颈:数据关系复杂,扩展性差,不便于大规模集群(我们说关系型数据库,它里面表与表之间的关系非常复杂,就是一张表,通过它的外键关联了七八张表,最终非常影响查询的效率。同时,你想扩展下,也很难!)NoSQL:即 Not-Only SQL( 泛指非关系型的数据库)

2020-08-30 13:01:31 87

原创 this

<script> //this就是当前对象 let p = { name: "zs", age: 20, show: function () { console.log(this.name + "--" + this.age); } } document.write( p.name); do.

2020-08-29 18:58:10 107

原创 Servlet

Servlet生命周期(面试);Servlet创建默认情况下,第一次访问Servlet,Servlet被Tomcat创建,并且会调用init方法;每次访问Servlet都会调用service()方法;Servlet销毁;tomcat关闭,Servlet就会被销毁,在销毁在之前调用destory()方法;每一个Servlet在整个声明周期过程中只会被创建一次。所以说每一个Servlet都是单例;servlet线程不安全,避免线程安全:1.尽量不要在Servlet中定义成员变量,如果必须定义,也

2020-08-22 09:25:35 139

原创 动态代理

1、Java.lang.reflect.Proxy类可以直接生成一个代理对象Proxy.newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h)生成一个代理对象参数1:ClassLoader loader 代理对象的类加载器 一般使用被代理对象的类加载器(表名你要用那个类加载器去加载生成的代理类。)参数2:Class<?>[] interfaces 代理对象的要实现的接口

2020-08-19 14:58:27 251

原创 脏读、幻读、不可重复读,索引

脏读(读取未提交数据)不可重复读(前后多次读取,数据内容不一致)幻读(前后多次读取,数据总量不一致)

2020-08-14 08:58:06 147

原创 mysql 条件查询

#进阶2:条件查询/*语法: select 查询列表 from 表名 where 筛选条件 (true,false)如果成立,显示出来。 分类: 一:按条件表达式筛选 条件运算符:> < = <>不等 二:按逻辑表达式筛选 逻辑运算符:&& || and or not 三:模糊查询 like between and in is null */#一:按条件表达式筛选#案例一:查

2020-08-08 10:32:01 157

原创 IO 异常处理的两种方式

public class TestStream { public static void main(String[] args) { FileInputStream in = null; try { in = new FileInputStream("a.txt"); in.read(); //in.close 不能放在这,如果读取出现异常就不会执行这一步 所以放在finally中,但是放在finally中方

2020-07-19 19:21:45 707

原创 多线程

方式一:同步代码块package ManyThread1;public class MyThread extends Thread{ private static int ticketCount = 100;//此时的成员变量要用static,因为要不同对象调用一份数据 @Override public void run(){ while (true){ synchronized(MyThread.class){ //Synchr

2020-07-13 12:58:14 231

原创 集合面试题

public static void main(String[] args) { HashSet set =new HashSet(); person p1 = new person(1001,"AA"); person p2 = new person(1002,"BB"); set.add(p1); set.add(p2); System.out.println(set); p1.name="CC"; set..

2020-07-09 20:41:24 164

原创 MAP反转

```handlebars Map<String, String> map = new HashMap<>(); map.put("beijing", "北京"); map.put("tianjin", "天津"); map.put("xi’an", "西安"); //方法一// map.entrySet().stream().collect(Collectors.toMap(key->key.ge.

2020-07-09 20:09:03 1399 1

原创 Stream

// list.stream().filter(s -> s.startsWith("张")).filter(s -> s.length()==3).forEach(s -> System.out.println(s)); // Predicate 条件对象 list.stream().filter(new Predicate<String>() { @Override // 参数是正在遍历的元素

2020-07-07 20:34:38 154

原创 Date时间类API

JDK8版本之前 //String转换对象格式必须一致 s 和 pattern 的格式 String s = "2020-08-03 15:30:00"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date parse = sdf.parse(s); System.out.println(parse); //此时打印的是电脑

2020-07-04 08:36:34 169

原创 API(equals、toString,Integer、 BigDecimal)

API1.Math类1.ceil(向上取整) 2.floor(向下取整)//记:个子越来越高 个子越来越低2.System(了解)System.exit(int) 退出JAVA虚拟机,0表示正常退出,非0表示异常退出。System.CurrentTimeMillis() 毫秒值,当前时间1970-1-1 0:0:0 格林尼治时间arequals(重要)对象的equals方法public class StudentTest {

2020-06-30 21:07:20 147

原创 多态和内部类

多态使用前提1.有继承关系 2.方法重写 3.父类的引用指向子类的对象好处:扩展性、通用性。可以通过父类调用子类的重写方法。向上转型和向下转型eg:Animal a = new Dog(); //向上转型Dog d = (Dog) a; //向下转型必须有继承关系才能相互转化。instanceof// instance 本意是实例,对象的意思 instanceof 就是判断该对象是否能转换为右侧的类型,它表达的是【是一个】的关系对象 insta

2020-06-29 23:05:34 101

原创 Lambda

//组成Lambda表达式的三要素:形式参数,箭头,代码块//1.():里面没有内容,可以看成方法形参为空。//2. ->:箭头指向后面要做的事情//3. {}:方法体的内容,是我们具体要做的事情。// Lambda 使用前提:1.有一个接口(不能操作类) 2.接口中有且仅有一个抽象方法//练习// 1.编写一个接口(ShowHandler)// 2.在该接口中存在一个抽象方法(show),该方法是无参数无返回值// 3.在测试类(ShowHandlerD

2020-06-29 19:05:35 127

原创 匿名内部类

public class Inner {public static void main(String[] args) { InterImple ii = new InterImple(); ii.show(); //匿名内部类的理解:将继承/实现,方法重写,创建对象,放在一步进行 //解释:实现了Inter接口的,一个实现类对象/* new Inter(){ //new Inter相当于Inter的实现类 @Override

2020-06-29 18:37:28 89

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除