- 博客(32)
- 收藏
- 关注
原创 java数组的定义
/默认值为数据类型的默认值,引用类型则为null.前面用来表明当前是一个数组的[]可以放在数据类型的后面,或者变量名的前后,甚至混合放置都可以。1.正确的定义方式要能保证数组的长度确定。5.多维数组中,每一维度的元素个数是可以不一样的。特殊的:下面这些都是可以的。
2023-03-13 22:11:38
246
原创 MyBatis源码分析
2.加载核心配置文件Resources类提供了多种获取资源文件的方法: 我们选择了其中一种方法: getResourceAsStream(String resource)跟踪该方法发现其间接调用了以下方法:2. 解析配置文件得到SqlSessionFactory对象类SqlSessionFactoryBuilder:该类中的所有方法都是build方法的重载,主要对字符流,字节流,Configuration进行处理。跟进我们使用的这个方法:public SqlSessionFa
2022-07-09 23:06:41
275
原创 @Import注解的用法
@Import:用于向IOC容器中注册组件@Import源码:@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface Import { /** * {@link Configuration @Configuration}, {@link ImportSelector}, * {@link ImportBeanDefinitionRegistrar}, or r
2022-06-02 12:22:55
731
原创 Spring 创建对象和依赖注入
1.创建对象Spring创建对象有两种配置方式:xml配置文件和注解 1.1配置文件package com.xianoupeng.bean;//员工类public class Emp { private String name; private int age; private Dept dept; public Emp() { System.out.println("Emp 无参构造被调用"); } pub...
2022-05-21 23:01:05
373
原创 java getResource方法以及类路径
1.类路径一个maven项目的结构如下(这里不是web项目)target是编译后的目录。其中的classes就是类路径。src中java和resource(用于存放配置文件)经过编译后都会存放在classes下。2.Class类中的getResource方法和getResourceAsStream方法public class TestClassPath { @Test public void test() throws IOException { /
2022-05-20 21:36:22
1886
原创 javaweb访问静态资源失败
1.Servlet中的url-pattern1.1<url-Pattern><url-Pattern>的配置格式:完全路径匹配以/开始 比如:/ServeltDemo01目录匹配以/开始,以/*结束 如:/* /aaa/* /aaa/bbb/*访问方式(以/aaa/*为例):项目名/aaa/任意字符特殊:/表示匹配所有但不包括.jsp,/*表示匹配所有扩展名匹配不能以/开始,是以*开始 如:*.action *.do *.jsp访问......
2022-05-13 22:58:56
1522
原创 java多线程
一、创建多线程的两种方式(jdk1.5之前)1.继承Thread类public class ThreadTest { public static void main(String[] args) { //创建两个线程并启动 //start方法的两个作用:1.启动该线程,2.调用run方法,所以启动一个线程是调用start方法,调用run方法不会启动线程。 new MyThread1().start(); new MyThrea
2022-05-06 20:27:48
316
原创 cookie的生命周期
java可以通过cookie对象的setMaxAge方法来设置cookie的生命周期setMaxAge() 的参数单位是秒,默认值为-1//这是cookie源代码 private int maxAge = -1; // ;Max-Age=VALUE ... cookies auto-expire有三种情况:1.参数为负数:表示浏览器关闭后则删除cookie,这种方式cookie存在于浏览器的内存中,注意是关闭浏览器才会删除,而不是关闭当前页面。代码演示:public cla
2022-04-10 15:41:50
1918
原创 java泛型详解
泛型是在jdk1.5提出的,本质是参数化接口。泛型的语法<T> 其中T可以被任何其他字母替代,一般使用K,T,V,E等表示(约定)一、一个简单的泛型类public class Test<T> { private T value; public T getValue() { return value; } public void setValue(T value) { this.value = value
2022-04-01 15:50:45
492
原创 java注解
一、概述注解(Annotation)是代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充信息。可以向修饰符一样被使用,用于修饰包,类,构造器,方法,成员变量,参数,局部变量的声明。二、jdk内置三大注解 @Override:声明在方法上,表示该方法是重写方法。 @Deprecated:声明在类,方法,字段等结构上,表示已过时,不推荐使用 @SuppressWarning
2022-04-01 15:48:39
436
原创 Java枚举类实现
一、枚举类的特点1.类的对象只有有限个,且为静态常量2.当需要定义一组常量时,强烈建议使用枚举类二、如何定义枚举类 jdk1.5之前:自定义枚举类 jdk1.5 :可以使用enum关键字来定义枚举类2.1自定义枚举类实现:package enumtest;import org.junit.Test;public class SeasonTest { @Test public void ...
2022-03-31 18:18:08
1512
原创 java Integer类
Integer是int类型的包装类,底层就是一个int 类型的成员属性 private final int value;1.继承体系public final class Integer extends Number implements Comparable<Integer> { 实现了Comparable接口,重写了CompareTo方法public int compareTo(Integer anotherInteger) { retu...
2021-11-26 11:16:44
742
原创 jdk1.8新特性
jdk1.8发布时间 :2014-3-18,主要更新了许多新特性,包括但不限于以下几种1.Lambda表达式2.默认方法3.函数式编程4.方法引用等等1.Lambad表达式:2.默认方法3.函数式编程
2021-11-23 18:04:16
910
原创 java实现有序二叉树基本操作
public class BinarySortTreeDemo { public static void main(String[] args) { int arr[]={7,3,10,12,5,1,9,2}; BinarySortTree binarySortTree = new BinarySortTree(); //遍历数组添加元素到树中 for(int data:arr){ binarySortTree.
2021-11-21 20:14:51
885
原创 简述哈希冲突
哈希冲突也就是在散列表中,下一个要存储的元素的位置已经有元素,这时则发生冲突。解决哈希冲突的方法有四种:1.再哈希法 比较好理解,就是当发生冲突,就再次通过哈希算法进行计算,直到不冲突为止。2.链地址法(拉链法) hashMap和hashtable就是使用的该方法,当发生冲突时,在冲突的位置建立一个链表或者红黑树(jdk1.8之后),这样冲突的元素依次存储在链表或者红黑树中。3.建立公共溢出区这种方法的基本思想是:将哈希表分为基本表和溢出表两部分,凡是...
2021-11-19 16:02:02
182
原创 Hashtable
1.构造方法 //涉及到的成员变量 private transient Entry<?,?>[] table; private float loadFactor; //加载因子 private int threshold; //阈值 public Hashtable() { this(11, 0.75f); } public Hashtable(int initialCapacity) { this(initialCapacity, 0
2021-11-18 22:02:56
333
原创 LinkedList
LinkedList底层是用链表存储数据//LinkedList中有一个节点内部类,他是private修饰,只能在LinkedList中访问private static class Node<E> { E item; //数据 Node<E> next; //指向下一个节点 Node<E> prev; //指向前一个节点 Node(Node<E> prev, E element, No.
2021-11-13 19:53:31
83
原创 内部类 解析
1.内部类的分类成员内部类(在类的成员位置) 局部内部类(在类的局部位置,方法里面) 匿名内部类(是局部内部类的一种特殊形式2.内部类的访问特点 1. 内部类可以直接访问外部类的成员(包括私有成员) 2. 外部类或者其他类要访问内部类的成员,必须先创建内部类的对象 3. 如果内部类和外部类有同名的成员,此时内部类中的 方法想要访问该成员,则默认访问的是 内部类本身的成员,如果要访问外部类的成员,可以使用外部类名.this.成员来访问外部类成员pa......
2021-11-12 23:47:44
348
原创 String 类
1.继承体系public final class String implements java.io.Serializable, Comparable<String>, CharSequence { String类被final修饰,所以不能有子类继承该类,String类实现了三个接口,其中Comparable<String>接口中只有一个抽象方法: public int compareTo(T o);2.成员变量private final cha..
2021-11-12 22:47:45
178
原创 ArrayList
1.继承体系public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable{2.构造方法 2.1无参构造 private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {}; tra....
2021-11-12 22:46:37
178
原创 StringBuilder和StringBuffer的扩容问题
1.继承体系StringBuilder类:public final class StringBuilder extends AbstractStringBuilder implements java.io.Serializable, CharSequence{StringBuffer类 public final class StringBuffer extends AbstractStringBuilder implements java.io.Se...
2021-11-08 12:18:58
247
原创 值传递和引用传递
在一个方法中,如果参数类型是普通数据类型,则该方法参数为值传递,如果参数类型是引用数据类型,则该方法参数为引用传递package function_parameter;public class Demo { public static int a=10; public static Student s=new Student("lisi",12); public static void main(String[] args) { System.out.pri
2021-10-29 23:34:59
49
原创 为什么数据类型float比long范围大
1.计算机存储2进制数据时是按照数据的补码来存储的,正数的补码是本身,负数的补码计算方式:取绝对值--------转为2进制--------按位取反------+1java中float是4个字节,而long是8个字节,但是他们的存储方式不一样。long的64位中,1位是符号位(符号为0代表正数,1代表负数),所以最大范围为:2^63-1float是32位,其中第一位是符号为,第2-9个bit表示指数,一共8为(可以表示0-255),这里的底数是2,为了同时表示正数和负数,这里要减去127的偏移量.这
2021-10-24 22:26:44
480
原创 网页布局总结
1.盒子布局 html的每一个标签都可以看做是一个盒子,但是盒子布局一般是利用标准块级元素div来进行布局,div没有具体的语义。通过对盒子宽度width,高度height,内边距padding,外边margin,边框border等属性进行设置,达到网页布局的目的。1.1width/height在对一个盒子设置width/height属性时,本质上是设置盒子模型中的content区域的高度和宽度,整体盒子的大小会受到padding和border的影响。1.2p...
2021-09-16 19:09:45
239
原创 RHCSA第四天练习
目录1、新建几个普通用户wukong,wuneng,wujing,他们都属于xiyouji组的成员,其中wujing没有和系统交互的shell。2、wukong和wuneng的密码都为redhat。3、通过sudo使得wukong可以使用wuneng和wujing的权限在他们的家目录下创建普通文件file。4、通过sudo使得wukong可以将密码配置文件中自己的密码信息相关内容保存至自己家目录下的mima文件。5、创建用户和组,新建一个名为adminuser的组,组id为3333;
2021-07-22 17:43:27
88
原创 RHCSA第三天练习
1、在根下创建一个目录ceshi,在测试目录下创建一个user目录,将/etc/passwd和/etc/shadow文件复制到/ceshi/user目录中,给/ceshi//user/passwd文件创建一个硬链接文件为passwd.bak ,给/ceshi/user/shadow文件创建一个软链接为sh.link。2、将/etc/ssh/sshd_config文件复制到/ceshi目录中并重命名为sshd。3、找出文件名为passwd的文件并将找出的结果写入/pa.
2021-07-20 20:32:25
85
原创 RHCSA第二天练习
目录1、使用思维导图工具画出linux的文件系统层级结构图(其中要指出不同文件的文件类型且简要说明不同文件的作用)2、总结出vim的三个模式中你认为实用的命令3、找到所有你学过的外部命令的可执行文件,并且写出该文件的文件类型和所属者1、使用思维导图工具画出linux的文件系统层级结构图(其中要指出不同文件的文件类型且简要说明不同文件的作用)2、总结出vim的三个模式中你认为实用的命令 1. 一般模式:dw 按单词删除u...
2021-07-19 16:22:59
89
原创 RHCSA第一天练习
目录1、创建虚拟机2、安装linux操作系统3、将虚拟机的网络连接模式分别调换成仅主机模式、nat模式、桥接模式并获取ip地址使用ssh通过不同用户远程连接4、远程连接成功后,总结哪种网络模式可以上网(可以使用ping命令测试)并查看root用户和普通用户的家目录的不同5、修改主机名为server.local6、破解密码1.创建虚拟机第一步:选择自定义高级,点击下一步第二步:直接点击下一步第三步:选择稍后安装,点击下一步第四步:选择要安装的虚拟机...
2021-07-18 09:46:17
281
原创 静态路由分配
一、需求:二、分析分析图示拓扑结构和需求可知,该结构一共有15个广播域,也就是要将192.168.1.0/24这个网段分为至少15个子网段。根据子网划分原则,需要将4位主机位变成网络位,划分后的子网如下:192.168.1.0/28192.168.1.16/28192.168.1.32/28192.168.1.48/28192.168.1.64/28 192.168.1.80/28192.168.1....
2021-07-12 18:54:35
361
原创 css样式引入方式和选择器
一、css样式引入方式1.行内样式 通过标签的style属性给该标签设置样式:<p style="color:red;background-color:yellow;">这是一个段落</p>2.内嵌样式 通过选择器选择对应的标签后给该标签设置相应的样式,样式内容需要写在style标签内,一般习惯将style标签写在head标签内。 <style> p{ color:red; backg
2021-05-31 21:30:12
188
原创 HTML表单
一、<form></form>标签及其常用属性1.什么是form标签form标签用于在网页中声明一个表单域,收集用户输入数据并提交到服务器。通常由<input/>,<textarea></textarea>,<select></select>三种标签组成,这三种标签不包含在form标签中也能显示出来,但是只有包含在form标签中才有意义(才能提交数据),其中使用最多的是input标签。2.form标签的常用属性
2021-05-28 13:28:20
63
原创 表格布局
表格标签<table>一.表格标签以及其常搭配标签的使用<table>标签,表示声明一个表格,可以(也可以不划分)将一个表格用<thead></thread>,<tbody></tbody>,<tfooter></tfooter>三个标签划分为表格头,表格体,表格尾三部分。其中,每一部分都用<tr></tr>标签声明表格的一行,在<tr></tr>内部使用&
2021-05-23 20:35:38
257
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人