
Java
Java
冰点契约丶
来自于旧世纪末,坐标:中国西部 常驻后端和测试开发领域,技术问题欢迎留言
展开
-
Guava Cache
Guava Cache原创 2023-06-25 16:43:04 · 632 阅读 · 0 评论 -
JSP入门
JSPjsp本质就是servlet,jsp也是Java类,通过jsp引擎将jsp转译为servletjsp≈java+html客户端向tomcat发送请求后调用:org.apache.jasper.servlet.jspservlet服务器运行起来之后,客户端第一次发送请求时动态创建jsp对应的servlet对象,调用writer方法向客户端返回页面。page标签:<%@ page %>属性:contextType:表示浏览器响应信息时使用的编码和解析格式language:表示j原创 2021-11-22 18:10:37 · 237 阅读 · 0 评论 -
EL表达式
Expression Language一种写法非常简单的表达式,语法简单易懂,便于使用作用:让jsp书写起来更加方便,简化在jsp种获取作用域或者请求数据的写法语法:${expression},提供了.和[]两种运算符获取数据JSP四大作用域pageContext:表示当前页面,解决当前页面内的数据共享问题request:一次请求的sevlet的数据共享,通过请求转发的方式,将数据流转到下一个servlet对象session:一次会话,一个用户发送的不同请求之间的数据共享,可以将数据从一个请求原创 2021-11-24 17:10:14 · 707 阅读 · 0 评论 -
Apache Ant教程
apache java原创 2022-12-15 17:02:18 · 714 阅读 · 0 评论 -
Java整合Log4j、Log4j2、Slf4j
Java整合日志原创 2022-12-08 17:53:05 · 501 阅读 · 0 评论 -
Junit常用注解
Junit常用注解原创 2022-12-08 17:49:54 · 516 阅读 · 0 评论 -
jdk免登录下载
jdk免登录下载原创 2022-11-24 11:25:22 · 637 阅读 · 0 评论 -
权限修饰符
权限修饰符原创 2022-09-23 01:10:57 · 101 阅读 · 0 评论 -
String、String Buffer与String Build
append方法(与String Build一致,但是使用了synchronized关键字修饰,线程安全)构造方法 (与String Buffer一致,底层数组默认长度为16)compare To(对比较器接口进行了实现)类声明部分(与String Build一致)原创 2022-09-20 10:56:47 · 199 阅读 · 0 评论 -
Java四大核心函数式接口
java原创 2022-06-01 17:32:45 · 300 阅读 · 1 评论 -
Lombok的使用
配置Maven<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.20</version></dependency>@Data:自动生成Set、Get、eq、toString方法@AllArgsCOntructor:自动生成带参构造器@NoAr原创 2021-12-30 18:46:52 · 331 阅读 · 0 评论 -
Java创建多线程的方式
方式一:继承Thread类public class Demo06 extends Thread{ public static void main(String[] args) { Demo06 demo06=new Demo06(); demo06.start(); } @Override public void run() { System.out.println("子线程被调用"); }}方式二:实现Runn原创 2021-10-31 19:20:49 · 108 阅读 · 0 评论 -
基于Lock锁的生产者消费者模式
import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class Shop { private String name; private String category; boolean flag; Lock lock=new ReentrantLo原创 2021-10-31 19:03:43 · 151 阅读 · 0 评论 -
TreeMap源码解析
JDK1.8TreeMap源码解析/* TreeMap源码解析 *重要属性 private transient Entry<K,V> root;(根节点) private transient int size = 0; 长度 * 空参构造器 public TreeMap() { comparator = null;比较器赋值为null } *原创 2021-10-24 21:01:42 · 1396 阅读 · 0 评论 -
Vector底层源码解析
Vector底层源码解析总结:Vector也是List接口的一个实现类,被创建时底层会创建一个长度为10的Object类型数组,扩容机制为2*原数组长度,使用同步锁声明,线程安全效率低,现已弃用。/*Vector底层源码解析(已弃用) 空参构造器 10 0 public Vector(int initialCapacity, int capacityIncrement) { this.原创 2021-10-19 00:26:44 · 157 阅读 · 0 评论 -
JDK1.8ArrayList源码解析
JDK1.8ArrayList底层源码解析/*jdk1.8ArrayList底层源码 * 空构造器:Object[] elementData={}(对底层object数组进行赋值) * private int size;(默认长度为0) * add方法: 0+1 * ensureCapacityInternal(size + 1) 1 * private void ensur原创 2021-10-18 23:47:22 · 149 阅读 · 0 评论 -
StringBuilder源码解析
StringBuilder构造器源码 /* * 空构造器:value = new char[16]; * int构造器:value = new char[3]; * String构造器:value = new char[str.length() + 16];为value赋值一个长度为str.length+16的数组 * append(str); abc public Ab原创 2021-10-17 18:10:57 · 454 阅读 · 0 评论 -
String类的equeals与compareTo源码
equals方法源码compareTo方法源码原创 2021-10-16 23:15:05 · 115 阅读 · 0 评论 -
DateTimeFormatter类的使用
DateTimeFormatter类的使用public static void main(String[] args){ DateTimeFormatter dateTimeFormatter=DateTimeFormatter.ISO_DATE_TIME; LocalDateTime localDateTime=LocalDateTime.now(); //LocalDateTime -> String String date = d原创 2021-10-15 17:57:59 · 755 阅读 · 0 评论 -
JDK1.8新增时间类
为了弥补之前java.util.Date与java.sql.Date的不足,JDK1.8引入新的时间类public static void main(String[] args) { LocalDate localDate = LocalDate.now(); System.out.println(localDate);//2021-10-14 构造器被私有化 LocalTime localTime = LocalTime.now(); Sy原创 2021-10-14 17:22:58 · 246 阅读 · 0 评论 -
Calendar日历类
Calendar日历类public class Demo{ public static void main(String[] args) { //Calendar:日历类 Calendar calendar=new GregorianCalendar(); //get:返回给定日历字段的值(参数:日期字段) System.out.println(calendar.get(Calendar.YEAR));//返回年 Sy原创 2021-10-14 15:11:26 · 101 阅读 · 0 评论 -
Integer-valueOf方法源码
valueOf方法源码:该方法在自动装箱时会自动调用原创 2021-10-14 00:23:04 · 130 阅读 · 0 评论 -
内部类与匿名对象
Java类的组成public class Demo03 { public static void main(String[] args) { //类的组成:属性、方法、构造器、代码块(静态块、构造块、普通块、同步块)、内部类(静态内部类、非静态内部类) } static { System.out.println("静态块"); } { System.out.println("构造块"); } pu原创 2021-10-11 15:30:32 · 76 阅读 · 0 评论 -
接口的定义
public interface List { //接口定义属性 public final static int length=10; //接口定义抽象方法 public abstract void getLength(); //接口定义非抽象方法(jdk1.8之后) default关键字必须存在 public default void echo(){ System.out.println("this is a List interface")原创 2021-10-11 13:45:51 · 97 阅读 · 0 评论 -
权限修饰符
属性、方法修饰符private:私有化,作用范围为当前类缺省:同一个包下的其他类都可以访问访问protected:访问范围为不同包下的子类public:在整个项目中都可以访问类修饰符缺省、public一般属性使用private修饰,达到封装的目的,类使用public修饰,以便任意地方都可以访问...原创 2021-07-31 18:20:05 · 108 阅读 · 0 评论 -
面向对象三大特征-继承
1.继承关系父类 基类 超类子类 派生类继承语法:子类 extends 父类2.继承的好处(1)提高代码的复用性(2)便于代码的拓展(3)为了多态的使用3.父类中private修饰的内容子类也继承过来了4.一个父类可以有多个子类5.一个子类有一个直接父类,但是可以间接的继承其他类6.继承具有传递性Object类是所有类的父类,所有类都间接或直接继承Object类public class Person { private int high; private Strin原创 2021-07-31 12:52:49 · 155 阅读 · 0 评论 -
面向对象三大特征-封装
1.将属性私有化,被private修饰,加入权限修饰符号(类似Python中__),一旦被修饰,该属性就不会被随意获取2.提供public修饰的方法让外部使用3.即使外部可以使用,也不可以随意访问,因为我们可以在方法中添加限制条件public class Girl { private int age; String name; public void getAge(){ System.out.println(this.age); } publi原创 2021-07-31 11:49:43 · 77 阅读 · 0 评论 -
代码块的执行顺序
1.最先执行静态块,只在类加载的时候加载一次,一般用于全局性的初始化操作2.执行构造块3.执行构造器4.执行普通块public class CodeBlock { static { System.out.println("静态块被执行了"); } { System.out.println("构造块被执行了"); } public CodeBlock(){ System.out.println("构造器被执行了")原创 2021-07-31 10:45:35 · 238 阅读 · 0 评论 -
static关键字
static修饰属性1.在类加载的时候一起加载到方法区中的静态域中2.先于对象存在3.访问形式:对象名.属性名 类名.属性名(推荐)静态属性:类属性动态属性:实例属性static和public都是修饰符1.并列没有先后顺序,先写谁都可以2.在静态方法中不能访问非静态属性(静态属性优先被加载到静态域中)3.在静态方法中不能访问非静态方法(同理)4.静态方法中不能使用this关键字5.静态方法可以通过对象名.方法名调用静态方法,也可以通过类名.方法名调用...原创 2021-07-31 10:26:00 · 70 阅读 · 0 评论 -
数组的拷贝
import java.util.Arrays;public class ArrayCopy { public static void main(String[] args) { int[] array = new int[]{19, 18, 65, 32, 7, 45, 23}; int[] array2 = new int[15]; System.arraycopy(array,2,array2,5,4); System.out.原创 2021-07-29 19:23:29 · 77 阅读 · 0 评论 -
Arrays工具类常用方法
toString():对数组进行遍历,返回一个字符串banarySearch():二分法查找,参数需要一个有序的数组,否则结果错误sort():排序(升序)copyOf():完成数组的复制copyOfRang():对数组进行指定区间复制equals():比较两个数组值是否相等==:比较两个数组地址是否相等fill():对数组进行填充...原创 2021-07-29 18:52:31 · 90 阅读 · 0 评论 -
java--数组
数组的作用:用来存储类型相同的数据数组的使用步骤:1.声明int[] arr;2.创建开辟一个长度为4的空间arr=new int[4];数组初始化的默认值基本类型的数组默认值:byte[]:0short[]:0int[]:0lang[]:0float[]:0.0double[]:0.0char[]:"\u0000"boolean[]:false引用类型数组:null3.赋值arr[0]=1;arr[1]=3;…4.使用arr.length…数组的初始化1原创 2021-07-29 00:27:12 · 75 阅读 · 0 评论 -
方法的重载
在同一个类中,方法名相同,形参列表不同的多个方法构成了类的重载方法的重载只跟方法名和形参列表有关,与修饰符和返回值类型无关形参列表不同:1.顺序不同2.个数不同3.类型不同public class work2 { public static void main(String[] args){ System.out.println(add(10,20)); System.out.println(add(10.1,9.1)); System.o原创 2021-07-28 15:33:36 · 111 阅读 · 0 评论 -
java中方法的定义
修饰符 返回值类型 方法名 (参数列表){ 方法体; return 返回值;}原创 2021-07-28 12:57:03 · 77 阅读 · 0 评论