- 博客(26)
- 收藏
- 关注
原创 Spring 使用配置类 代 xml 配置的方式
Spring 中使用JavaConfig配置Spring笔记目的:Spring的知识回顾,有些忘记了。温故而知新为SpringBoot打一下基础 User// @Component 的意思是这个类被Spring 接管了,注册到了容器中@Componentpublic class User { @Value("Tom") private String name; public String getName() { return name;
2021-12-09 20:44:45
373
原创 ArrayList 线程不安全及解决
ArrayList 的 add()方法的 操作源码。 public boolean add(E e) { ensureCapacityInternal(size + 1); elementData[size++] = e; return true; }ArrayList 的不安全主要体现在两个方面。第一种情况:elementData[size++] = e;//不是一个原子操作,是分两步执行的。elementData[size] =
2021-12-05 15:31:48
1501
原创 给定一个字符类型的数组chas[]
【题目】给定一个字符类型的数组chas[],chas右半区全是空字符,左半区不含有空字符。现在想将左半区中所有的空格字符替换成“%20”,假设chas右半区足够大,可以满足替换所需要的空间,请完成替换函数。【举例】如果把chas的左半区看作字符串,为“a b c”,假设chas的右半区足够大。替换后,chas的左半区为“a%20b%20%20c”。import java.util.ArrayList;import java.util.List;public class test03 { p
2021-11-16 16:50:30
635
原创 java.lang.IllegalMonitorStateException错误
java.lang.IllegalMonitorStateException错误发生异常的原因:违法的监控状态异常。当某个线程试图等待一个自己并不拥有的对象(O)的监控器或者通知其他线程等待该对象(O)的监控器时,抛出该异常。类比一个: 钱都没给我,让我给你买西瓜?强哥我不保熟抛出异常的情况1:当前线程不含有当前对象的锁资源的时候,调用obj.wait()方法;调用obj.notify()方法;调用obj.notifyAll()方法;就是调用wait()和notify()或者notifyAll
2021-11-15 20:07:18
1427
原创 3.3 集合-Map接口
集合- Map接口 Map接口实现类的特点Map接口用于保存具有映射关系的数据:Key-ValueMap 中的Key 和 Value 可以是任何引用类型的数据,会封装到HashMap$Nde对象中Map中的Key不允许重复,但Value 可以重复。都可为null常用的String类作为Map的keyMap.put("k1","A");Map.put("k2","B");Map.Put("k2","c");// 先创立的key遇到后面有相同的key,则会被替代(相当于V
2021-11-11 19:03:11
131
原创 3.2.6 Set接口及其实现类
Set接口及其 实现类基本无序(添加和取出的顺序不一样),没有索引不允许有重复的元素常用方法和Collection的子接口相同遍历的方式和Collection 相同可以使用iterator和增强for 但是不能使用索引的方式来获取补充第一点:取出的顺序不是添加的顺序,但是取出后 顺序固定 Set接口实现类-HashSet(1)HashSet基础说明:HashSet实现了Set接口HashSet实际上是基于HashMap实现的public HashS
2021-11-11 19:01:49
383
原创 3.2.5 Link子接口-LinkedList
Link-子接口LinkedListLinkedList基本:底层实现了双向链表和双端队列特点可以添加任意元素(元素可重复),包括null线程不安全,没有实现同步 比较 ArrayList和LinkedList :截取此文章一段 传送门 转载的文章基于jdk1.7LinkedList类是List接口的实现类,它是一个集合,可以根据索引来随机的访问集合中的元素,还实现了Deque接口,它还是一个队列,可以被当成双端队列来使用。虽然LinkedList是一个List集合,但是它
2021-11-11 18:59:35
767
原创 3.2.3 ArrayList 底层结构
ArrayList 底层结构和源码分析ArrayList基本和注意事项ArrayList可以加入null,并且多个ArrayList 是由数组来实现数据存储的ArrayList 基本等同于Vector,但ArrayList是线程不安全(执行效率高),在多线程情况下,不建议使用ArrayListArrayList 扩容机制结论:ArrayList中维护了一个Object类型的数组elementData transient Object[] elementData当创建Arra
2021-11-11 18:57:18
399
原创 3.2.4 Vector
Vector 底层源码及剖析基础认知和注意事项:Vector 为List接口的实现子类底层也是一个对象数组,protected Object[] elementData是线程同步的,即线程安全的。Vector类的操作方法带有Synchronized(支持线程同步和互斥)Vector 和 ArrayList 比较: Vector 底层源码分析
2021-11-11 18:55:42
76
原创 3.2.1 List接口
Collection—子接口-List接口List基本概述:List接口是Collention接口的子接口List集合类中元素有序(添加顺序和取出的顺序一致),且可重复每个元素都有对应的顺序索引,即支持索引List接口常用方法:void add(int index, Object ele): 在index位置插入ele元素boolean addAll(int index, Collection eles): 从index位置开始将eles中的所有元素添加进来Object g
2021-11-11 18:54:17
689
原创 3.2 集合-Collection接口
Collection接口1.Collection接口常用方法和特点:collection接口的特点:实现子类可存放多个元素,每个元素是objectCollection实现类,可以存放重复的元素,有些不可以Collection实现类,List是有序的,Set是无序的没有直接的实现子类,是通过它的子接口Set和List 来实现的常用方法:1、add()方法boolean add(E e) //向集合中插入一个元素Collection c = new Ar
2021-11-11 18:51:18
436
原创 3.1 集合基础
集合集合的构成: 集合和数组的比较:数组:数组的长度在一开始时必须指定,并且一旦指定后不可更改数组保存的必须为同一类型的元素使用数组进行增删元素-麻烦集合:可以动态的保存任意多个对象提供了一系列方便操作对象的方法 :如 add,set,remove,get使用集合添加删除新元素代码更加简洁集合体系:集合主要是两组 (单列集合,双列集合)collection接口有两个重要的子接口 List 和 Set,他们实现的子类都是单列集合Map 接口实现的子类,是双
2021-11-11 18:49:49
66
原创 2.7 String练习- 邮箱验证
String练习-邮箱验证/** * 输入用户名,密码,邮箱; 如果录入正确 提示录入成功 否则生成异常对象 * 要求;1.用户名的长度或2或3或4 * 2.密码长度为6,要求全是数字 * 3.邮箱中包含@和. 并且 @在.的前面 */public class emailPass { public static void main(String[] args) { String name = "chen"; String pwd = "123456";
2021-11-11 18:48:21
316
原创 2.6 String练习-字符反转
String反转/** * 将字符串的任意区间的字符反转 * 例:字符串“abcdef” 反转为 “aedcbf" */public class reserveChar { public static void main(String[] args) { String str = "abcdef";// 捕获异常 try { str = reverse(str,4,1); } catch (Exception
2021-11-11 18:46:54
101
原创 2.5常用类-Math类 Arrays类
Math类 Arrays类Math类:包含用于执行基本数学运算的方法常用方法// .abs() 求绝对值 System.out.println(Math.abs(-10)); System.out.println(Math.abs(-11.2));// .pow() 求幂 System.out.println(Math.pow(2,3));// .ceil() 向上求整 ceil:天花板 求一个数向上的最大整数 S
2021-10-27 10:29:35
109
原创 2.4 常用类-StringBuilder类
StringBuilder基础知识不是线程安全的(多线程)是StringBuffer的简易替换,在单线程中使用用在字符串缓冲区被单个线程使用的时候StringBuilder 主要在append()和insert(),可重载这些方法,以接受任何类型的数据StringBuilder总结StringBuilder 继承 AbstractStringBuilder 类实现了 Serializable 说明String Builder 对象是可以串行化(对象可以网络传输,可以
2021-10-11 10:11:15
101
原创 2.3常用类-String Buffer类
String Buffer基本:可变的字符序列,可以对字符串内容进行增删很多方法与String 相同,但String Buffer是可变长度的String Buffer 是一个容器类图结构:String 与 String Buffer 对比:String 保存的是字符串常量,里面的值不能更改,每次String类的更新实际上就是更改地址,效率低 // private final char value[];StringBuffer 保存的是字符串变量
2021-10-10 16:01:08
148
原创 2.2常用类- String类
常用类-String类基本知识点 :String 对象用于保存字符串,也就是一组字符序列字符串常量对象是用双引号括起来的字符序列字符串使用的是Unicode字符编码,一个字符占两个字节常用构造器String s1 = new String();String s2 = new String(String original);String s3 = new String(char[] a);String s4 = new String(char[] a,int Sta
2021-10-09 08:36:35
103
原创 2.1 常用类-包装类
常用类-包装类包装类和基本的数据类型转换jdk5 前的手动装箱和拆箱方式,装箱:基本类型->包装类型 反之为拆箱jdk5 以后的自动装箱和拆箱方式自动装箱底层调用的是 valueOf方法 比如:Integer.valueOf()引用博客文:包装类的详解包装类转化为String类 高频// 包装类转换成String Integer demo = 100; String demo2 = demo + ""; St
2021-10-08 21:38:21
73
原创 方法的定义和调用简单使用
方法的定义和调用简单使用简单的一个程序/** * 比大小 */public class demo03 { public static void main(String[] args) { System.out.println(add(1,2)); } public static int add(int a,int b){ int result = 0; if(a>b){ result =
2021-10-06 09:27:30
68
原创 Scanner方法
Scanner方法和用户交互的方法// 创建一个扫描器对象,用于接收键盘数据Scanner sc = new Scanner(System.in);// 判断用户有没有输入字符串 if(sc.hasNextIn()){ int a = sc.nextInt(); System.out.print(a); }// 属于i/o流 使用完要关闭 sc.close();next() 不能得到带有空格的字符串next Line
2021-10-05 19:55:48
89
原创 2.5 Math类和Arrays类
Math类 Arrays类Math类:包含用于执行基本数学运算的方法常用方法// .abs() 求绝对值 System.out.println(Math.abs(-10)); System.out.println(Math.abs(-11.2));// .pow() 求幂 System.out.println(Math.pow(2,3));// .ceil() 向上求整 ceil:天花板 求一个数向上的最大整数 S
2021-10-04 10:49:16
111
原创 Java-类型转换
类型转换基本类型byte short char int long float double运算中,不同类型的数据先转换为同一个类型,然后再进行运算int i = 10;byte b = (byte)i; // 强制转换格式System.out.println(b);注意点:不能对布尔值进行转换不能将高精度的数值转换成低精度的数值转换的时候可能存在溢出,或者精度的问题自动转换出现在 低转高char a = "a";int d = a+1;// -&
2021-10-04 10:43:11
52
原创 StringBuffer基础
StringBuffer基本:可变的字符序列,可以对字符串内容进行增删很多方法与String 相同,但StringBuffer是可变长度的String Buffer 是一个容器类图结构:String 与 String Buffer 对比:String 保存的是字符串常量,里面的值不能更改,每次String类的更新实际上就是更改地址,效率低 // private final char value[];StringBuffer 保存的是字符串变量,里
2021-09-17 14:22:56
136
原创 picGo+github图床
picGo+github图床在GitHub上面建一个新仓库用来上传图片基本操作 博客文注意事项:C:\Windows\System32\drivers\etc\hosts修改添加本地配置 添加如下配置# GitHub Start 140.82.113.3 github.com140.82.114.20 gist.github.com151.101.184.133 assets-cdn.github.com151.101.184.133 raw
2021-09-07 00:08:10
125
原创 2021-04-24
HTML 常用标签<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>常用标签</title></head><body><!--1--><!--font字体标签--><!--font 是字体标签用来控制字体的 # 颜色(color) 字体(face) .
2021-04-24 22:51:17
80
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人