随笔分类 - 【101】Java基础
摘要:序言 1.什么是静态代理和动态代理 2.为什么需要静态代理和动态代理?使用场景 3.demo演示静态代理和动态代理 4.静态代理存在的问题? 5.JDK动态代理:存在的问题? 6.cglib动态代理:cglib是什么?常见的动态代理?为什么要用动态代理? 7.what why how 静态代理 静态
阅读全文
摘要:序言 1. .btl为后缀的文件对应的是BeetlTemplateEngine引擎类; 2. .ftl为后缀的文件对应的是FreemarkerTemplateEngine引擎类; 3. .vm为后缀的文件为VelocityTemplateEngine引擎类; D:\Java\Git\mybatis-
阅读全文
摘要:序言 volatile synchronized ThreadLocal ReentrantLock ReentrantReadWriteLock stampedlock java分布式锁 BlockingQueue即阻塞队列,它是基于ReentrantLock 资料
阅读全文
摘要:jdk1.4中新加入的NIO,引入了通道与缓冲区的IO方式,它可以调用Native方法直接分配堆外内存,这个堆外内存就是本机内存,不会影响到堆内存的大小.
阅读全文
摘要:前言 《Java编程思想》第四版足足用了75页来讲泛型——厚厚的一沓内容,很容易让人头大——但其实根本不用这么多,只需要一句话:我是一个泛型队列,狗可以站进来,猫也可以站进来,但最好不要既站猫,又站狗! Java的设计者在JDK 1.5时才引入了泛型,但为了照顾以前设计上的缺陷,同时兼容非泛型的代码
阅读全文
摘要:序言 在业务系统中,数据一般都从sql中查询,类似使用where,order by,limit,聚合函数等,为什么还要用java8的Stream方法? 首先我们了解了集合操作数据的弊端,每次都需要循环遍历,还要创建新集合,很麻烦 Stream是流式思想,相当于工厂的流水线,对集合中的数据进行加工处理
阅读全文
摘要:序言 Why--指的是为什么做这件事,也既事物的本质。 反射之中包含了一个“反”的概念,所以要想解释反射就必须先从“正”开始解释,一般而言,当用户使用一个类的时候,应该先知道这个类,而后通过这个类产生实例化对象,但是“反”指的是通过对象找到类。 package cn.mf.demo4; public
阅读全文
摘要:概述 总体而言,java的读写操作又分为两种:字符流和字节流。 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件。 什么是流? 流是一个抽象的概念。当Java程序需要从数据源读取数据时,会开启一个到数据源的流。数据源可以是文件,
阅读全文
摘要:String,StringBuilder,StringBuffer三者的区别 1.首先说运行速度,或者说是执行速度 在这方面运行速度快慢为:StringBuilder > StringBuffer > String String最慢的原因: String的值是不可变的,这就导致每次对String的操
阅读全文
摘要:序言 Callable、Future和FutureTask 基本线程类指的是Thread类,Runnable接口,Callable接口 join函数用了synchronized关键字,即为同步,线程安全。 https://www.cnblogs.com/wendy777/p/9483467.html
阅读全文
摘要:序言 List、Map、Set可以看做集合的三大类 Java集合就像一个容器,可以将多个对象的引用丢进该容器中。 Collection和Map是Java集合的根接口。 List List代表一种线性表的数据结构, List集合是有序集合,集合中的元素可以重复,访问集合中的元素可以根据元素的索引来访问
阅读全文
摘要:序言 方法返回多个值 使用集合类 /** * 方法1:使用集合类 (Map以外的集合类也可以随意使用) * 目标:返回一个数组的最大值和最小值 */ public Map<String, Integer> test1(int[] arr) { Map<String, Integer> map = n
阅读全文
摘要:概述 根据《Java 虚拟机规范》中的说法,Java 虚拟机的内存结构可以分为公有和私有两部分。 公有指的是所有线程都共享的部分,指的是 Java 堆、方法区、常量池。 私有指的是每个线程的私有数据,包括:PC寄存器、Java 虚拟机栈、本地方法栈。 Java虚拟机内存结构 JAVA的JVM的内存可
阅读全文
摘要:为什么需要内部类? 真正的原因是这样的,java中的内部类和接口加在一起,可以的解决常被C++程序员抱怨java中存在的一个问题没有多继承。实际上,C++的多继承设计起来很复杂,而java通过内部类加上接口,可以很好解决java不支持多继承的问题。 内部类从表面上看,就是在类中又定义了一个类(下文会
阅读全文
摘要:面向对象综述 封装 封装的意义,在于明确标识出允许外部使用的所有成员函数和数据项,或者叫接口。 有了封装,就可以明确区分内外,使得类实现者可以修改封装内的东西而不影响外部调用者;而外部调用者也可以知道自己不可以碰哪里。 这就提供一个良好的合作基础——或者说,只要接口这个基础约定不变,则代码改变不足为
阅读全文
摘要:序言 53个关键字 在JAVA中目前一共有53个关键字:其中由51+2个保留字=53个关键字 访问控制 private protected public default 类、方法和 变量修饰符 abstract class extends final implements interface nat
阅读全文
摘要:序言 Java语言的特点不使用指针而使用引用。 Java基础知识 第一阶段 第二阶段:JavaSE 第三阶段:数据库阶段 第四阶段:Web前端 第五阶段:JavaEE 第六阶段:高级框架 第七阶段:框架强化 第八阶段:分布式架构 第九阶段:微服务架构 第十阶段:项目分析设计阶段 资料 尚学堂
阅读全文