
java
文章平均质量分 81
java
code_feien
这个作者很懒,什么都没留下…
展开
-
java学习笔记:try catch finally throw throws
finally在程序运行过程中,如果处理异常的部分包含finally的处理,那么无论代码是否发生异常,finally中的代码总会执行(不执行情况,程序中断退出【System.exit(0)】)finally包含哪些处理逻辑?1、IO流的关闭操作一般设置在finally中2、数据库的连接关闭操作设置在finally中try catch finally在有return时的执行顺序try语句...原创 2020-04-11 16:10:29 · 296 阅读 · 0 评论 -
java学习笔记:异常
异常 * 异常: * 在程序运行过程中,出现的不正常情况叫做异常 * * 注意: * 1、相同的代码在运行的时候,根据输入的参数或者操作的不同,有可能会发生异常,有可能不会发生异常 * 应该在写代码的过程中尽可能的保证代码的正确性,不要到处都bug * 2、如果要解决代码中出现的异常,需要添加...原创 2020-04-11 10:30:04 · 239 阅读 · 0 评论 -
Java学习笔记:内部类
内部类* 内部类(当作类中的一个普通成员变量,只不过此成员变量是class的类型):* 一个java文件中可以包含多个class,但是只能有一个public class* 如果一个类定义在另一个类的内部,此时可以称之为内部类* 使用:* 创建内部类的时候,跟之前的方法不一样,需要在内部类的前面添加外部类来进行修饰* Inn...原创 2020-04-10 17:14:34 · 144 阅读 · 0 评论 -
java学习笔记:Object类
Object类Object类是所有类的父类,其中包括了这些方法:有关==和equals的对比:注:在使用equals()时需要重写(使用IDE自带重写方法即可),否则在Object类中,equals()返回的是’=='的结果。public boolean equals(Object obj) { return (this == obj);}...原创 2020-04-09 16:34:41 · 166 阅读 · 0 评论 -
Java学习笔记:代码块详解
代码块代码块: 使用{}括起来的一段代码叫做代码块分类:普通代码块:定义在方法中,使用{}括起来的代码叫做普通代码块构造代码块:定义在类中的使用{}括起来的代码叫做构造代码块 注意:每次代码运行的时候回将构造代码块中的代码添加到构造方法的前面 构造代码块中的代码会添加到每一个构造方法中,当使用this(参数)的时候不会添加 ...原创 2020-04-08 10:31:39 · 157 阅读 · 0 评论 -
Java学习笔记:接口 interface
接口 interface用法:特征:接口的使用抽象类和接口的区别* java中的接口具备广泛的使用:用法:* 接口中可以包含多个方法,且方法跟抽象类中的抽象方法一致,可以不写实现,子类在实现的时候必须要实现代码逻辑* 子类实现接口使用implements关键字特征:* 1、接口中的所有方法都是抽象方法,不能包含...原创 2020-04-10 15:33:35 · 484 阅读 · 0 评论 -
java学习笔记:访问修饰符,public,protected,default,private
访问修饰符,private,public,protected 在java中明确定义了访问权限: 限制访问,以下分类按照从大到小进行排列 public:公共的 当前项目的所有的类都可以进行访问 protected:受保护的 可以被当前类访问,可以被当前包访问,也可以被子类访问 default:...原创 2020-04-09 10:05:19 · 178 阅读 · 0 评论 -
Java学习笔记:javase基础语法
javase基础语法数据类型基本数据类型之间的转换数据类型Java是一种强类型的语言 强类型表示,变量在定义的时候必须显式的声明类型是什么 java 弱类型表示,变量会根据值自己去推断,不需要指定类型是什么 js,python,scalajava数据类型 基本数据类型(4类8种) 整数类型:byte short int long(不同类型表示不同的长度) byte: 使用...原创 2020-04-06 16:07:07 · 243 阅读 · 0 评论 -
java学习笔记:多态
多态* 对应同一个指令(调用同一个名称的方法),不同的对象给予不同的反应(不同的方法实现)* 规范(多态实现的提前):* 1、必须要有继承关系* 2、子类方法必须重写父类的方法* 3、父类引用指向子类对象* 多态的目的:* 为了提高代码的扩展性和维护性* 方便代码逻辑的编写* 多态的两种表现形式:...原创 2020-04-09 17:57:34 · 177 阅读 · 0 评论 -
java学习笔记:有关面向对象-封装,变量,引用类型,this,static
有关面向对象-封装,变量,引用类型,this,static类变量thisstatic类一个java文件中可以定义多个类,但是只能有一个public class,并且public class的类名跟文件名要相同。变量局部变量:定义在方法中的变量称之为局部变量作用域:从定义的位置开始到整个方法结束局部变量不包含默认值,如果没有使用当前变量的话,可以不赋值注意:局部变量只能在当前方法中使...原创 2020-04-07 17:10:30 · 314 阅读 · 0 评论 -
java学习笔记:字符串比较
字符串比较== 和equals的区别== 和equals的区别==比较的是地址,equals比较的是地址中存放的具体字符串的值原创 2020-04-07 10:49:45 · 147 阅读 · 0 评论 -
java学习笔记:继承、super、重写、抽象、final
继承继承super继承 表示父类跟子类之间的关系 当两个类或者多个类具备相同的属性和方法的时候,可以提取出来,变成父类,子类可以继承 子类跟父类是is-a的关系 使用: 1、使用继承的时候需要使用extend关键字 2、使用继承关系之后,父类中的属性和方法都可以在子类中进行使用(非私有属性和非私有方法) 3、java中是单继承...原创 2020-04-09 10:51:15 · 300 阅读 · 0 评论 -
java学习笔记:包装类与基本数据类型
包装类**含义:**包装类是将基本数据类型封装成一个类,包含属性和方法。在使用过程中,会包括自动装箱和自动拆箱。装箱: 将基本数据类型转换成包装类 例:Integer i2 = Integer.valueOf(a);//手动装箱拆箱: 将包装类转换成基本数据类型例:int i3 = i.intValue();//手动拆箱String 注意:常量池在1.7之后放置在了堆空间之中 ...原创 2020-04-11 22:09:47 · 214 阅读 · 0 评论 -
java学习笔记:集合框架
集合框架CollectionvectoriteratorList 和SetCollectioncollecton:存放的是单一的值特点: 1.可以存放不同类型的数据 2.当使用ArrayList子类的时候,初始化的长度是10,当长度不够的时候回自动进行扩容操作api方法: 增加数据的方法: add:要求传入的参数必须是Object对象,因此当写入基本数据类型的时候...原创 2020-04-14 15:59:14 · 256 阅读 · 0 评论 -
map基操,hashmap与hashtable,concurrenthashmap和hashtable,hashmap和treemap,concurrentHashmap是如何实现线程安全的
mapmap基本操作,hashmap与hashtable区别,hashmap需要注意的点转载,hashmap,linkedmap,treemap一些总结hashmap和treemap区别map基本操作,hashmap与hashtable区别,hashmap需要注意的点 map存储的是k-v键值对映射的数据 实现子类: HashMap:数据+链表(1.7) ...原创 2020-04-15 15:50:05 · 318 阅读 · 0 评论 -
Java学习笔记:javaIO流总结
javaIO流总结字节流:InputStream and OutputStream字符流:Reader and Writer一般会使用Buffered来提高读取效率;原创 2020-04-17 10:38:12 · 214 阅读 · 0 评论 -
Java学习笔记:lambda表达式
lambda表达式介绍特点介绍Lambda表达式是java8中最重要的新功能之一。使用lambda表达式可以替代只有一个抽象函数的接口实现,告别匿名内部类,代码看起来更加简洁易懂。Lambda表达式同时还提升了对集合、框架的迭代、遍历、过滤数据的操作。特点函数式编程参数类型自动推断代码简洁...原创 2020-04-20 16:37:13 · 162 阅读 · 0 评论 -
Java 的Integer、int与new Integer到底怎么回事?
先做一些总结,询问了些经验比较多的师傅,在这里表示感谢,然后自己总结下,今天的收获分享给大家:int 和Integer在进行比较的时候,Integer会进行拆箱,转为int值与int进行比较。Integer与Integer比较的时候,由于直接赋值的时候会进行自动的装箱,那么这里就需要注意两个问题,一个是-128<= x<=127的整数,将会直接缓存在IntegerCache...原创 2020-04-17 20:51:33 · 218 阅读 · 0 评论 -
java学习笔记:多线程相关
多线程相关实现多线程的时候:1,需要继承Thread类2,必须要重写run()方法3,线程在启动的时候,不要直接调用run方法,而是通过start()来启动4,每次运行相同的代码,结果可能不一样,原因在于多线程中谁先抢占资源无法人为控制。第二种实现方式:(使用了代理设计模式)1,实现Runnable接口2,重写run方法3,创建Thread对象,将刚刚创建好的runnabl...原创 2020-04-17 20:30:55 · 149 阅读 · 0 评论 -
java学习笔记:泛型
泛型 * 当做一些集合的统一操作的时候,需要保证集合的类型是统一的,此时需要泛型来进行限制 * 优点: * 1、数据安全 * 2、获取数据时效率比较高 * 给集合中的元素设置相同的类型就是泛型的基本需求 * 使用: * 在定义对象的时候,通过<>中设置合理的类型来进行实现 * 泛型的...原创 2020-04-17 20:51:56 · 184 阅读 · 0 评论 -
Spring框架学习笔记2:AOP中@Transactional参数小记以及事务传播特性
Spring框架学习笔记2:AOP中@Transactional参数小记@Tansactional的功能是将一个函数以一个事务的形式来对待。 @Transactional(rollbackFor ={ArithmeticException.class}) public void buyBook(){ bookDao.getPrice(1); bookDao.updateBalance("zhangsan",100); int i=1/0;原创 2020-06-16 09:04:56 · 367 阅读 · 0 评论 -
Spring框架学习笔记1:spring介绍和初步搭建
细节点: 1、ApplicationContext就是IOC容器的接口,可以通过此对象获取容器中创建的对象 2、对象在Spring容器创建完成的时候就已经创建完成,不是需要用的时候才创建.此种情况满足的是单例模式。 3、对象在IOC容器中存储的时候默认 都是单例的,如果需要多例需要修改属性 scope=“prototype” 4、创建对象给属性赋值的时候是通过set方法实现的,不能省略public void setid(int id){ this.id = id;} 5、对象原创 2020-06-06 16:59:51 · 292 阅读 · 0 评论 -
Spring框架学习笔记1:IOC介绍和使用IOC注解的方式
Spring框架学习笔记1:使用注解的方式注解介绍扫描路径参数AutoWired装配方式@AutoWired和@Resource的区别泛型依赖注入注解介绍@Component:组件,理论上可以在任意的类上进行添加,在扫描的时候都会完成bean的注册@Controller:放置在控制层,用来接收用户的请求,@Service:放置在业务逻辑层,@Repository:仓库,放置在数据访问层他们都可以完成bean注册功能,但是这些规定并不是spring识别的标识在spring程序运行的过程中,不会对原创 2020-06-07 15:25:15 · 397 阅读 · 0 评论 -
SpringMVC笔记一:简介+在写Controller时的一些组件介绍和注意点
SpringMVC笔记一:在写Controller时的一些组件介绍和注意点/** * request.getParameter("name") * * 当发送请求的时候,找到对应的处理方法之后,会根据参数的名称从request中获取对应的参数值,并封装到方法中 * 此时要求,方法的名字和url中参数的名字必须一致,如果不一致,设置不成功 * * 如果设置的值不同,同时又想让参数获取到对应的属性值,可以通过@RequestParam来使用原创 2020-07-06 21:11:54 · 168 阅读 · 0 评论 -
Spring框架学习笔记2:什么是AOP,以及AOP的配置使用
Spring框架学习笔记2:AOP的配置使用什么是AOP为什么要用AOP优点AOP的核心概念及术语AOP的应用场景如何使用添加pom依赖编写配置什么是AOP AOP就是一种面向切面编程的方式:基于OOP基础之上新的编程思想,OOP面向的主要对象是类,而AOP面向的主要对象是切面,在处理日志、安全管理、事务管理等方面有非常重要的作用。AOP是Spring中重要的核心点,虽然IOC容器没有依赖AOP,但是AOP提供了非常强大的功能,用来对IOC做补充。为什么要用AOP优点在AOP思想中,通过aspe原创 2020-06-14 18:24:17 · 500 阅读 · 0 评论 -
Spring框架整合Mybatis
Spring框架整合Mybatis思路分析(适用于整合所有框架)思路分析(适用于整合所有框架)引入相关依赖spring mybatis mysql mybatis-spring。。。如何整合Spring 主要是用来负责项目中组件对象的创建,使用,销毁,是一个项目管理框架;mybatis 主要是用来简化原有的jdbc技术,进行数据库访问操作,是一个持久层的框架;整合思路:通过spring去接管mybatis中核心对象的创建。mybatis中的核心对象是什么sqlSessionFactory原创 2020-07-16 22:48:14 · 162 阅读 · 0 评论 -
Spring框架学习笔记3:创建复杂对象
创建复杂对象简单对象复杂对象简单对象定义:可以通过new关键字创建的对象,统一称为简单对象;Spring工厂创建时:<bean id="" class="">复杂对象定义:不能直接通过new关键字进行创建的对象。例如:接口类型 | 抽象类类型。Spring工厂创建时:这里用日历类Calendar做示范,Calendar正常的创建方式:Calender calender = Calendar.getInstance();1.需要新建一个类,继承FactoryBean<T&g原创 2020-07-16 17:34:03 · 216 阅读 · 0 评论 -
Spring学习:静态代理到动态代理
动态代理:cglib,jdk,区别联系,个人感受什么是动态代理动态代理底层实现jdk两者区别什么是动态代理java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。具体使用场景可以在日志管理、权限认证、安全检查和事务控制等类似情景中使用。动态代理底层实现jdk通过Proxy.newProxyInstance(ClassLoader,Class<?>[] args,InvocationHandler)方法,先生成新的class文件原创 2020-07-12 20:54:47 · 117 阅读 · 0 评论 -
springmvc中的文件下载
springmvc中的文件下载定义开发文件下载文件下载代码示例控制文件在线打开或附件下载定义用户将服务器中的文件下载到本机的过程开发文件下载定位哪些文件需要下载将需要下载的文件放入指定的目录中开发一个页面提供一个文件下载的链接开发下载Controller文件下载代码示例需要下载的文件在web下的download下的aa.txt;开发的页面:<body> <h2>文件下载</h2> <a href="${pageContext原创 2020-08-06 16:50:22 · 339 阅读 · 0 评论 -
设计模式之单例模式浅谈,懒汉式和饿汉式及其优化和原理
设计模式之单例模式浅谈饿汉式懒汉式单例模式非常常见,某个对象全局只需要一个实例时,就可以使用单例模式。它的优点也显而易见:它能够避免对象重复创建,节约空间并提升效率避免由于操作不同实例导致的逻辑错误单例模式有两种:饿汉式和懒汉式饿汉式变量在声明时便初始化:public class Singleton { private static Singleton instance = new Singleton(); private Singleton(){} public s原创 2020-12-01 10:58:30 · 507 阅读 · 0 评论 -
java中的关键字transient详解
这个关键字的作用其实我在写java的序列化机制中曾经写过,不过那时候只是简单地认识,只要其简单的用法,没有深入的去分析。这篇文章就是去深入分析一下transient关键字。先给出这篇文章的大致脉络首先,介绍了transient的基本概念和基本用法、然后,介绍深入分析一下transient关键字,并介绍几个需要掌握的问题最后,来个总结一、初识transient关键字其实这个关键字的作用很好理解,就是简单的一句话:将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会被序列转载 2020-08-24 10:38:35 · 760 阅读 · 0 评论 -
java8中为什么放弃了ConcurrentMap的分段锁,采取了什么新的策略
java8中为什么放弃了ConcurrentMap的分段锁,采取了什么新的策略前言弃用原因什么是可重入锁(递归锁)新的方案前言它的原理是引用了内部的 Segment ( ReentrantLock ) 分段锁,和hashmap一样,在jdk1.7中ConcurrentHashMap的底层数据结构是数组加链表。和hashmap不同的是ConcurrentHashMap中存放的数据是一段段的,即由多个Segment(段)组成的。每个Segment中都有着类似于数组加链表的结构。保证在操作不同段 map原创 2020-09-02 11:37:08 · 558 阅读 · 0 评论 -
String类型可以被继承吗,为什么
不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改变。关于final修饰符,介绍如下:根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 final成员变量表示常量,只能被赋值一次,赋值后值不再改转载 2020-08-24 09:36:09 · 2487 阅读 · 0 评论 -
Java中String类型不可变
Java中String类型不可变是什么为什么String为什么不可变?从原理上分析。怎么做不可变带来的缺点是什么java中String类型不可变,指的是当我们new了一个字符串,给他赋值之后,name当前对象的值就固定了,而且永远不会改变。但是变量的引用是可以改变的。例如String str=“good”; str+=" news";此时str指向"good news",它的值输出也是"good news",但是并不是"good"和"news"的加和,而是另外开辟了地址空间来存放"good news"原创 2020-09-03 09:46:13 · 797 阅读 · 0 评论 -
比较全乎的ArrayList和LinkedList的区别
ArrayList和LinkedList的区别Array和List的区别ArrayListLinkedList对比ArrayList的源码分析ArrayList的主要成员变量ArrayList的构造函数扩容机制LinkedList的源码分析Array和List的区别Array(数组)是基于索引(index)的数据结构,它使用索引在数组中搜索和读取数据是很快的。Array获取数据的时间复杂度是O(1),但是要删除数据却是开销很大,因为这需要重排数组中的所有数据, (因为删除数据以后, 需要把后面所有的数原创 2020-08-31 16:22:27 · 158 阅读 · 0 评论 -
springboot中本地测试相关,开启jsp页面热部署
springboot中本地测试相关本地测试开启jsp页面热部署本地测试springboot中使用junit测试,必须引入相关的依赖<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-test --> <dependency> <groupId>org.springframework.boot</groupId>原创 2020-08-24 22:54:14 · 199 阅读 · 0 评论 -
Java学习笔记:反射class.forName和ClassLoader的区别记录
反射原创 2020-08-31 17:13:49 · 191 阅读 · 0 评论 -
springboot中面向切面编程
springboot中面向切面编程AOP面向切面编程SpringBoot中的切面编程AOP面向切面编程AOP:spring中提出AOP概念,就是通过动态地为项目中某些类在运行过程中创建代理对象,在代理对象中完成附加功能 | 额外功能;保证在处理业务时能够更加专注于自己的业务逻辑开发。概念:1)通知(Advice):除了目标方法以外的操作称之为通知,包括日志通知,性能通知,事务通知等;2)切入点(pointcut):用来告诉项目中哪些类中哪些方法在执行过程中加入通知;3)切面(Aspect):通原创 2020-09-06 11:25:38 · 764 阅读 · 0 评论