自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 问答 (1)
  • 收藏
  • 关注

原创 OpenAPI

OpenAPI 规范。

2024-03-24 11:31:22 96

原创 kubernetes

对象名称和 ID | Kubernetes。

2024-03-18 22:19:22 806

原创 IDEA 卡在Updating to indices,进度条不动

原因:项目太大了,IDEA设置的内存不够大。解决一般前端页面的包比较大,右键前端页面的module,然后选择mark as Dictionary然后再点击 Exclude

2021-07-15 18:42:37 703

原创 如何向idea导入eclipse的项目

今儿给我朋友导入一我之前的小程序,结果遇到了困难。看似简单的问题,竟然能难住我这么长时间。果然从小事做起不是说说的。1.导入项目接着,勾选第二个导入外部工程,选Eclipse点击next后,一路next就行,最后选jdk需要自己斟酌一下。2.导入jar包由于,这个项目没有使用maven进行构建,需要手动告诉idea我的jar包都放在项目目录的哪里每个项目的jar包放置的位置可能不同,我的这个在WEB-INF下。又因为我用的servlet写的一个项目。如果光导入这些jar包,会报错E

2021-06-29 14:11:23 433

原创 Set-TreeSet

TreeSet既然叫TreeSet了,再根据LinkedHashMap的实现情况,我猜测,TreeSet应该是封装了TreeMappublic TreeSet() { this(new TreeMap<E,Object>());}TreeSet(NavigableMap<E,Object> m) { this.m = m;}private transient NavigableMap<E,Object> m;果不其然。

2021-06-21 10:22:01 101

原创 Set-LinkedHashSet源码笔记

2.LinkedHashSet看完这个结构图,LinkedHashSet就是HashSet加了一层,是HashSet的扩展。LinkedHashSet是有序的,那么它是怎么保证有序的?//LinkedHashSet构造器会调用HashSet的三个参数的构造器public LinkedHashSet() { super(16, .75f, true);}//HashSet三个参数的构造器会调用LinkedHashMap,此时,HashSet里面的map存储的是LinkedHash

2021-06-21 10:11:56 105

原创 Map-WeakHashMap源码笔记

5.WeakHashMapWeakHashMap是一种弱引用的HashMap,指的是key值如果没有外部强引用后,在垃圾回收的时候会被收掉。引用类型官方文档对引用类型类的描述Provides reference-object classes, which support a limited degree of interaction with the garbage collector. A program may use a reference object to maintain a refe

2021-06-21 09:54:51 81

原创 Set-HashSet源码笔记

1.HashSet一个不允许有重复元素的无序队列,只可以有一个null值老规矩,查看重要方法的实现add()public boolean add(E e) { return map.put(e, PRESENT)==null;}private transient HashMap<E,Object> map;// Dummy value to associate with an Object in the backing Mapprivate static final

2021-06-20 23:25:46 79

原创 Map-HashTable源码笔记

4.HashTable线程安全的根据put方法,追踪代码,发现hashtable维护的是一个链表数组,没有树结构。再看看方法的前面,有synchronized关键字。所以这是一个线程安全的方法。public synchronized V put(K key, V value) { // Make sure the value is not null if (value == null) { throw new NullPointerExcep

2021-06-20 18:15:30 91

原创 Map-LinkedHashMap源码笔记

3.LinkedHashMapLinkedHashMap是继承了HashMap,在维护HashMap的数组,链表,红黑树的基础上,加入了一个双向链表,让插入的数据,根据时间的先后,有了顺序。transient LinkedHashMap.Entry<K,V> head;transient LinkedHashMap.Entry<K,V> tail;static class Entry<K,V> extends HashMap.Node<K,V> {

2021-06-20 17:53:01 120

原创 Map-TreeMap源码笔记

2.TreeMapHashMap组合了数组、链表、红黑树,而TreeMap直接就用了红黑树实现。这颗红黑树的根节点private transient Entry<K,V> root;static final class Entry<K,V> implements Map.Entry<K,V> { K key; V value; Entry<K,V> left; Entry<K,V

2021-06-20 13:07:21 92

原创 Map-HashMap

1.HashMap[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FFqZE7WH-1624158547789)(java知识点/image-20210618131051961.png)]点开源码,瞧,发现了啥?维护的是一个链表数组,同样的hash值在一个table[i]中。当链表的长度大于最小”建树阈值的时候“,就会变成维护一个树。transient Node<K,V>[] table;static final int TREEIFY_THRESHOLD

2021-06-20 11:10:59 79

原创 有序队列PriorityQueue源码分析笔记

PriorityQueue优先队列是一种容器,它可以使得其第一个元素始终是它包含的最大元素,通过堆排序进行实现的。先看看用的什么数据结构存储的信息transient Object[] queue;嗯?又是数组。PriorityQueue来我们看一个添加元素的方法,add–>offer–>siftUp–>siftUpUsingComparator或siftUpComparable所以它实现优先队列的方法是在添加元素后,对维护的数组进行一次最小堆排序。public boole

2021-06-20 09:29:35 120

原创 Vector与Stack源码分析笔记

Vector与StackStack是栈,Vector是矢量VectorVector维护的是一个数组protected Object[] elementData;方法实现的内容与ArrayList基本一致。但是Vector是线程安全的,所以的方法几乎都有synchronized修饰如果不定义Vector的数组的每次的增长长度,那么默认是两倍增长Stackpublic class Stack<E> extends Vector<E>Stack继承了Vector,

2021-06-18 10:42:39 123

原创 LinkedList源码解析笔记

LinkedList经过了上次看ArrayList源码走的弯路的经验,我这次决定直接查看功能代码。用什么数据结构存储的数据?源码啊中的Node就是存储所用的数据结构,通过查看add方法的实现,验证的。private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E> prev, E elemen

2021-06-18 10:03:13 65

原创 查看ArrayList源码做的笔记

1.ArrayList先了解两种访问方式,随机访问与顺序访问顺序访问:在一组长度为n的数据中,要找到其中的第i个元素,只能从头到尾的遍历,直到找到第i个元素。就是遍历地查询我想要的元素呗。随机访问(直接访问):在一组长度为n的数据中,要找到其中的第i个元素,只需要通过下标就能访问到。就是根据索引就能直接访问到我想访问的元素其中数组就可以进行随机访问不是嘛?比如,array[i]。数组在内存中的存储结构是像一个火车一样,一节一节的。例如java中int的长度是4字节(32位),起始地址0x0

2021-06-17 17:18:22 90

原创 子类父类同时实现同一个接口

子类父类同时实现同一个接口,父类接口实现了这个接口的方法后,子类可以不用再实现这个接口。子类也可以重写这个接口的内容class Demo1 extends Demo2 implements i{}==============分界线=============import java.util.ArrayList;import java.util.List;public class Demo2 implements i{ @Override public void met

2021-06-17 16:03:29 1100 3

原创 java反射

2.3反射反射是一种在程序运行时,动态的获取一个类的所有属性和方法(也能获取到private权限的属性及方法),并能利用得到的类构建对象。Class对象是存储获得类信息的载体如何获得Class对象?三种方法public class Demo2 { int i; public static void main(String[] args) throws ClassNotFoundException { Class c1 = Demo2.class;

2021-06-15 09:21:23 119

原创 override 与 overload

2.2 override 与 overload重写是对父类的方法进行重写,重载是对同一个类中已存在的方法进行的重载。这是重写abstract class Demo1 { public abstract void method1(); public void method2(){ }}public class Demo2 extends Demo1 { @Override public void method1() {

2021-06-15 08:55:01 93 1

原创 java的四个关键子final,static,volatile,transient

1.4 java关键字1.finalfinal: 变量,对象引用不可变,方法不可覆盖,类不可以被继承。对象引用不可变@Test public void method1(){ final StringBuilder s = new StringBuilder("a"); s.append('b'); System.out.println(s.toString()); }输出ab@Test public void me

2021-06-14 23:24:10 221

原创 spring-cloud-config-server解析不了远程仓库的yml文件也会报错

spring-cloud-config-server解析不了远程仓库的yml文件也会报错java.lang.IllegalStateException: Failed to load property source from location 'file:/C:/Users/****/AppData/Local/Temp/config-repo-5552994236597162722/application.yml' at org.springframework.boot.context.config.

2021-06-14 01:34:01 1516 1

原创 spring boot的BUG: java.lang.NoSuchMethodError: org.yaml.snakeyaml.LoaderOptions.setMaxAliasesForColle

我构建的是一个基于spring cloud的分布式demo,运行时报错 java.lang.NoSuchMethodError: org.yaml.snakeyaml.LoaderOptions.setMaxAliasesForCollections(I)V解决:我的是版本问题,将module的带org.springframwork的所有依赖改成与父项目一样的版本号解决...

2021-06-10 10:08:31 2191

原创 解决ssm配置了mvc但是静态资源也不显示的问题

4.解决ssm配置了mvc但是静态资源也不显示的问题我使用的idea目录结构是这样的mvc我也配置了,但是不好使。<mvc:annotation-driven/> <mvc:resources mapping="/img/" location="/img/**"></mvc:resources> <mvc:resources mapping="/video/" location="/video/**"></mvc:resour

2021-05-11 09:17:08 301 2

原创 解决ssm连接不上数据库,mybatis却可以单独连接上的问题

解决ssm连接不上数据库,mybatis却可以单独连接上的问题我用的8.0的mysql,把驱动改成这个就好了。。。com.mysql.cj.jdbc.Driverpackage com.mysql.jdbc;import java.sql.SQLException;public class Driver extends com.mysql.cj.jdbc.Driver { public Driver() throws SQLException { } static

2021-05-11 08:52:03 177

原创 IDEA需要手动部署tomcat项目

IDEA需要手动部署tomcat项目ps:因为以前一直用的eclipse构建ssh或者ssm项目。昨天想做个用SSM构建的项目,使用的IDEA。但是在测试的时候发现所有的映射都不好使!后来发现是mvc的xml文件找不到。接着发现是web.xml文件找不到。找了一圈给我懵的。再加上第二天有足球赛得起早,我就更忙到了。出现这种情况的原因是因为没在tomcat部署项目。如何部署,如下...

2021-05-09 16:01:14 165

原创 自己对AOP的理解笔记

15. AOP第一次听说AOP是在spring框架中听到的。在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。看文字晦涩难懂,直接看个例子。下面的

2021-05-04 19:04:23 71

原创 用mysql workbench连接云服务器的mysql数据库

用mysql workbench连接云服务器的mysql数据库1.2.Hostname中写ip地址,port中写端口,default schema写要连接的数据库。其他的按着字面意思填写。注意,远端云服器一定要开放3306这个端口3.成功

2021-05-04 10:21:52 1265

原创 设计模式——观察者模式

14.观察者模式咱们先看看源码再分析,这个例子摘自菜鸟教程。Subject 对象带有绑定观察者到 Client 对象和从 Client 对象解绑观察者的方法,可以看成一个广播站。能接受信息,并广播给观察者们。import java.util.ArrayList;import java.util.List; public class Subject { private List<Observer> observers = new ArrayList<O

2021-05-02 13:30:03 54

原创 设计模式——状态模式

13. 状态模式状态模式与策略模式相似,为了避免使用if else 或 switch 语句,状态模式把状态封装了起来。看一下这个例子。摘录自菜鸟教程public interface State { public void doAction(Context context);}public class StartState implements State { public void doAction(Context context) { System.out.pri

2021-05-02 12:26:09 47

原创 java传递给方法的对象传递的是引用

2.java传递给方法的对象传递的是引用public class Demo2 { String s;}public class Demo1 { public void B(Demo2 demo2){ demo2.s = "change"; } public static void main(String[] args) { Demo1 demo1 = new Demo1(); Demo2 demo2 = new Dem

2021-05-02 12:06:29 93

原创 设计模式——策略模式

12.策略模式策略模式其实是把相似的且容易重复出现的方法,一个一个封装成类,然后用哪个就调用哪个类。看个例子。public interface Travel { void travel();}public class ByCar implements Travel{ @Override public void travel() { System.out.println("乘车前进"); }}public class ByFly impleme

2021-05-02 10:50:30 46

原创 设计模式——组合模式

11. 组合模式(Composite)emmm这个模式跟数据结构的树状图好像也没太大区别哈。很简单,就是对象里面有对象集。下面的例子摘自菜鸟教程。import java.util.ArrayList;import java.util.List; public class Employee { private String name; private String dept; private int salary; private List<Employee>

2021-05-02 10:10:39 49

原创 设计模式——外观类模式

10.外观类模式外观类就像一个黑盒,只给你结果,不告诉你具体内容。也像一个看不见里面的内容的贩卖机,只能通过屏幕进行查看商品及购买,您只管买,其他的事儿我来解决!用到了最少知识原则(least KnowLedge Principle)。下面用一个例子来实现public interface Buy { void buy();}public class BuyWater implements Buy{ @Override public void buy() {

2021-05-02 09:48:45 179

原创 设计模式——适配器模式

9.适配器模式9.1 对象适配器是个这,有两种接口,都有各自的实现类,我现在要使IRoundPeg像IPeg规定的那样调用insertIntoHole方法来执行自己的insertIntoRoundHole方法的内容。那么通过写一个适配器就可以完成这个任务。创建一个适配器,实现IPeg接口,在insertIntoHole调用IRoundPeg的insertIntoRoundHole方法即可实现public interface IPeg { void insertIntoHole();}p

2021-05-02 09:32:28 68

原创 设计模式——代理模式

8.代理模式代理模式跟装饰器模式好像,只不过设计目的不同。静态代理下面这个例子来自——菜鸟教程public interface Image { void display();}public class RealImage implements Image { private String fileName; public RealImage(String fileName){ this.fileName = fileName; loadFrom

2021-05-02 08:59:12 44

原创 设计模式——装饰器模式

7.装饰器模式个人理解,装饰器模式是为了实现修改原代码而实现增加或删除对象的内部功能的一种设计模式。看一下装饰器模式的实现——这个例子来自漫画设计模式:什么是 “装饰器模式” ?_程序员小灰的博客-CSDN博客。public interface Car { void run();}public class BenzCar implements Car{ @Override public void run() { System.out.println("奔驰

2021-05-01 08:17:07 109 1

原创 设计模式——控制反转

6. 控制反转前边的模板方法的回调,就是一种控制反转的应用import java.sql.ResultSet;public class SimpleJdbcQueryTemplate { public <T> T query(String queryString , ResultSetHandler<T> rsHandler){ //回调 return rsHandler.handle(rs); }}return rsHa

2021-05-01 07:55:15 298 1

原创 2021-04-29

1. main方法能调用main所在类的private属性今天测试原型模式的时候发现个奇怪的事儿,我设置private变量并没有设置get方法,main方法竟然能用 对象.变量访问!package 原型模式;public class PackageInfo implements Cloneable{ public int a; private int b; public void setA(int a) { this.a = a; } public void setB(int

2021-04-29 08:03:00 62

原创 设计模式——工厂模式

4. 工厂模式工厂模式其实工厂模式,就是一个疯狂返回新对象的一个类的实例。就像流水线一样。跟单例模式的区别是,单例模式返回对象唯一,而工厂模式疯狂返回新创建的对象。public interface Factory { Product createProduct();}public interface Product { //定义产品的方法啊啥的。}public class ConcreteFactory implements Factory{ @Override public

2021-04-28 08:37:26 51

原创 设计模式——单例模式

3.单例模式3.1最简单的单例public class Singleton { private static Singleton instance = new Singleton(); private Singleton() { } public static Singleton getInstance() { return instance; }}线程安全,如果需要复杂的初始化,这时候应该写一个static {} 静态代码块,完成对instatnce的初始化。3

2021-04-27 20:59:08 54

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除