
java 基础
伟娃娃
java软件开发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java 面试题(java 基础) 1-26
java 面试题库 round 1原创 2023-03-29 08:52:18 · 176 阅读 · 0 评论 -
java静态代理和动态代理的区别和联系
Spring AOP 介绍与使用 AOP的作用在不修改原有代码的情况下,去增强跟核心业务没有关系的公共功能的代码。 例如,加日志,增加权限控制,加事物管理。 AOP 底层原理代理 首先什么是代理 ? ----是由委托人与代理人签订代理协议,授权代理人在一定范围内代表其向第三者进行处理有关事务。 静态代理,动态代理 ...原创 2020-11-18 09:13:45 · 130 阅读 · 0 评论 -
Java8六大新特性之六 新日期时间类型
LocalDate 的基本使用实例 import java.time.DayOfWeek; import java.time.LocalDate; import java.time.temporal.TemporalAdjusters; public class NewDateOperateTest { public static void main(String[] args) { //获取今天 LocalDate today = LocalDate.n.原创 2020-11-15 18:51:06 · 204 阅读 · 0 评论 -
Java8六大新特性之五 流式式操作Stream类
流是javaAPI得新成员,它允许你以声明性方式处理数据集合。它还可以透明得并行处理,你无需写任何多线程代码。 流的具体方法操作类型大全: 最常用的集合类的流获取及操作: import java.util.*; import java.util.stream.Stream; public class StreamOperateTest { public static void main(String[] args) { List<String> l.原创 2020-11-15 15:30:13 · 432 阅读 · 0 评论 -
Java8六大新特性之二三 函数式接口函数默认方法和静态方法
函数式接口介绍 函数式接口中可以且只能有一个抽象方法,还可以有默认方法和静态方法,必须有@FunctionalInterface作为注解。 在java里面,lambda表达式需要函数是接口的承载,要不然没法实现。 下面自定义一个函数式接口的例子: 定义函数式接口TestFunInterface @FunctionalInterface public interface TestFunInterface{ public void test();原创 2020-11-14 18:21:47 · 594 阅读 · 0 评论 -
Java8六大新特性之一 函数式编程-Lambda表达式
lamda表达式简单的说其目的就是为了替代匿名内部类,因为匿名内部类看起来很臃肿,也可以理解成是一段可以传递的代码。 函数式编程的几个特点: 闭包和高级函数 - 闭包,将函数作为一个对象对待,高级函数--将函数作为参数,作为返回值。 惰性计算 - 表达式绑定在变量上时不进行计算,只在求值表达式需要值时才进行计算,达到延迟计算的效果。 没有副作用 - 函数中不能修改外部变量,传入函数的变量必须是final的。函数时编程,是一段可以完一个任务的代码,如果对外部变量的修改可能导致一些错乱。 Lambda原创 2020-11-14 17:02:12 · 150 阅读 · 0 评论 -
Java8六大新特性之四 方法引用和构造器调用
jdk 1.8 新特性: lambda表达式 函数式接口 方法引用和构造器调用 stream api 接口默认方法和静态方法 新时间日期API 函数式编程 lamda表达是的目的是为了替代匿名内部类,因为匿名内部类看起来很臃肿,也可以理解成是一段可以传递的代码。 函数式编程的几个特点: 闭包和高级函数 - 闭包,将函数作为一个对象对待,高级函数--将函数作为参数,作为返回值。 惰性计算 - 表达式绑定在变量上时不进行计算,只在求值表达式需要值时才进行计算,达到延迟计算的效果。 没有副原创 2020-11-13 22:08:28 · 225 阅读 · 0 评论 -
我对HashMap的一些浅见
hashmap 在java 1.7 和1.8 有大的区别 1.7 用的是数组 + 链表 1.8及以后 是数组 + 链表 + 红黑树 hashmap数组大小默认是16, hashmap的get,put 操作的时间赋值度是O(1) put的时候,使用 key.hashCode()/16 作为数组的下标 hash碰撞,值不一样但是他们的cashcode有可能一样,或者取余16后余数可能一样,就需要往一个数组下标下放入多个值, 这个时候需要使用链表来存储这个值,采用头插法。链表时间复杂度O(n) 实原创 2020-10-27 22:18:44 · 168 阅读 · 0 评论 -
java基础 - 白话讲懂java的log江湖
在java1.4之前sun并没有考虑到log这一块,所以在最开始的程序员只能使用System.out.println("")。这种又消耗性能又只能输出到控制台的方式记录log。很苦逼。 System.out.println("Hello world"); 有一位大神实在受不了了,就自己写了一个工具log4j。相对于System.out好处太多了,下面随便列了一些:线程安全,支持多输出源,支持日志级别,配置简单,输出格式可控,开源协议,速度快。这位大神就是(Seki)赛基. 赛基把lo原创 2020-09-27 17:39:09 · 380 阅读 · 0 评论 -
恶补java基础之--反射Reflect
认识反射首先要理解class对象。jvm将我们的.class文件读入内存中,并自动创建一个与之对应的class对象。一个.class只会创建一个class对象。如下图,从其他地方copy来的: 创建class对象的方法有以下三种。 //反射就是把java类中的各种成分映射成一个个的Java对象 System.out.println(Rstudent.class == Class.forN...原创 2019-06-22 22:23:52 · 280 阅读 · 0 评论