自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(119)
  • 收藏
  • 关注

原创 java注解的实现原理

开发人员使用元注解自定义注解,定义出的注解为java编译器添加编译规则,java提供了注解处理器将编译规则接入到java编译器中;修改或生成源文件是通过修改java源代码生成的抽象语法数,再其中修改已有树节点或者插入新的树节点,从而使生成的字节码发生变化;如果在编译的第二步,调用已注册的注解处理器时,生成了新的源代码,java编译器将重复1,2步骤,直到不再生成新的源代码;注解处理器主要有三个用途:1、定义编译规则并检查被编译的源文件,2、修改已有的源文件,3、生成新的源文件。

2024-03-28 23:05:56 283

转载 java最全汇总题

singleton(单例)prototype(原型)requestsessionspring ioc初始化流程?resource定位即寻找用户定义的bean资源,由 ResourceLoader通过统一的接口Resource接口来完成beanDefinition载入BeanDefinitionReader读取、解析Resource定位的资源 成BeanDefinition 载入到ioc中(通过HashMap进行维护BD)BeanDefinition注册。

2024-03-22 12:52:36 23 1

原创 Could not resolve placeholder ‘app.name‘ in value “${app.name}“

Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name ‘hlb’ defined in class path resource [applicationContext.xml]: Could not res

2020-12-07 20:16:47 1759

转载 5万字、97 张图总结操作系统核心知识点

这不是一篇教你如何创建一个操作系统的文章,相反,这是一篇指导性文章,教你从几个方面来理解操作系统。首先你需要知道你为什么要看这篇文章以及为什么要学习操作系统。高清大图见文末搞清楚几个问题首先你要搞明白你学习操作系统的目的是什么?操作系统的重要性如何?学习操作系统会给我带来什么?下面我会从这几个方面为你回答下。操作系统也是一种软件,但是操作系统是一种非常复杂的软件。操作系统提供了几种抽象模型文件:对 I/O 设备的抽象虚拟内存:对程序存储器的抽象进程:对一个正在运行程序的抽象虚拟机:对整个操作

2020-08-05 13:55:08 369

原创 redis数据结构底层原理——看这一篇就够了

浅识redis我们说 Redis 相对于 Memcache 等其他的缓存产品,有一个比较明显的优势就是 Redis 不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。通过学习本篇博客的内容,初步了解redis的基本数据结构。本人学识有限,如有错误,及时指出,不胜感激~注意:Redis的命令不区分大小写,但是key 严格区分大小写!!!string**介绍 ** String相信大家都很熟悉,不管是Java,C,C++还是python,都有S

2020-07-19 19:28:49 756

原创 ThreadLocal

ThreadLocal 作用是提供线程内的局部变量使用 ThreadLocal<Integer> local=new ThreadLocal(); local.set(100); local.set(900); int loc=local.get(); System.out.println(loc);输出900...

2020-01-18 14:07:53 241

原创 NIO

Java Nio由以下几个核心部分组成channelschannel分为有几种类型FileChannelDatagramChannelSocketChannelServerSocketChannelbuffersbetyBufferCharBufferDoubleBufferIntBufferLongBufferShortBufferSelectorsselector...

2020-01-18 14:05:00 121

原创 MySQL慢查询和函数

1,sql慢查询 在配置文件中加上long_query_time=2;利用explain关键字模拟优化器执行sql查询语句优化 使索引起作用 优化数据库结构 分解关联查询 优化分页 将筛选字段加上索引 关联延迟 建立复合索引 脏读 不可重复读 幻读读未提交 V V V读已提交 X V ...

2020-01-18 14:02:19 447

原创 linux相关命令

linux分区 每块硬盘最多可以分为四个分区 如果四个分区不够 可以取一个分区作为扩展分区 将扩展分区分为若干个逻辑分区 (逻辑分区最多分为22个 ) 格式化 是将分区内重新分块 并将块内已有的数据覆盖挂载/根分区swqp分区 交换分区 内存的两倍 不超过2gb分区 把大硬盘分为小的逻辑分区格式化 写入文件系统分区设备文件名 给每个分区定义设备文件名挂载 给每个分区分配挂载...

2020-01-18 13:57:37 292

原创 图解HTTP简单总结

第一章 了解web及网络基础tcp/ip协议族 :通常使用的网络 包括互联网 是在tcp/ip协议族的基础上运作的 而http属于它内部的一个字迹tcp/ip协议族 计算机与网络设备要进行通信 双方就必须基于相同的方法(如何探测到通信目标 由哪一边先发起通信 使用那种语言进行通信 怎样结束通信等规则 所有的一切都需要一种规则 我们把这种规则称为协议) tcp/ip协议是互联网相关的各...

2019-12-21 20:09:15 270

原创 JMM内存模型 volatile

Java内存区域 :方法区(存储已经被虚拟机加载的类信息 常量 静态变量 即时编译器编译后的代码 ) 堆 (存放对象实例 )虚拟机栈(存储方法的变量表 操作数栈 动态链接方法 返回值 返回地址 ) 本地方法栈 (线程的私有区域 与native方法相关 )程序计数器 (线程私有选取下一条需要执行的字节码的指令 )Java内存模型(Java Memory Model 抽象模型)主内存 :主要存...

2019-12-17 16:13:58 135

原创 类加载 反射

类的生命周期加载连接验证准备解析初始化使用卸载结束生命周期当程序主动使用某个类的时候 如果该类还没有被加载到内存中 jvm会通过类加载**(加载连接初始化 三个步骤)**对该类进行初始化 类型(指定义的类 接口 或者枚举 称为类型 而不涉及对象 )的加载连接初始化都是在程序运行期间完成的 (就是当你点击run的时候 类才开始加载 从磁盘加载到内存中 )当jvm预料到某...

2019-12-17 12:49:48 166

原创 并发

synchronized造成线程安全问题的主要诱因有两点存在共享数据(临界资源)存在多线程共同操作共享资源解决: 当存在多个线程操作共享数据时 ,需要保证同一时刻有且只有一个线程在操作共享数据 ,其他线程必须等到该线程处理完数据后再进行 (互斥锁)(synchorized可以保证可见性)synchorized的三种应用方法修饰实例方法 作用于当前实例加锁 进入同步代码块前要获得当前实例...

2019-12-06 11:22:59 234

原创 集合

transient主要是用于对象的序列化的。transient是字段类型修饰符,只能修饰变量,而不能修饰方法和类。被transient关键字修饰的变量不能再被序列化,静态变量不管是否被transient修饰,均不能被序列化。一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。也可以认为在将持久化的对象反序列化后,被transient修饰的变量将...

2019-12-05 21:10:34 147

转载 JVM 总结

1,jvm内存Java虚拟机(Java Virtual Machine,JVM)作为 Java 字节码执行引擎,它在多种操作系统和架构上提供 Java 运行时环境。Java HotSpot 虚拟机是 Java SE 平台的一个核心组件。它实现了 Java 虚拟机规范,并作为 Java 运行时环境中的一个共享库来提供。它包括class类加载器、JIT动态编译器、执行引擎、以及垃圾收集器等;JR...

2019-12-04 20:09:54 194

原创 ThreadLocal中0x61C88647常量的含义是什么

如果你把0x61c88647转换成十进制,你会得到1640531527,这是没有意义的,直到你意识到它是32位,它是2654435769的签名版本。再次这个数字似乎有点奇怪,直到你意识到它是2的32次方乘以X其中X是黄金比例(√5-1)÷2近似0.618。现在它如何适合ThreadLocal?当您创建新的ThreadLocal时,会根据之前的ID +我们的幻数分配一个ID。它被放入ThreadL...

2019-11-17 18:55:23 1175 2

转载 ArrayList

探索ArrayList自动改变size真相ArrayList的列表对象实质上是存储在一个引用型数组里的,有人认为该数组有“自动增长机制”可以自动改变size大小。正式地说,该数组是无法改变大小的,实际上它只是改变了该引用型数组的指向而已。下面,让我们来看看java是怎样实现ArrayList类的。一、ArrayList类的实质ArrayList底层采用Object类型的数组实现,当使用不带...

2019-11-11 21:20:05 120

原创 Java基础6

集合,List//无线程,不安全迭代器 Iterator it=list.iterator();it.hasNext(0;it.next();List list=new Vestor();//线程,安全HashTable ,线程同步

2019-10-29 18:23:56 112

原创 Java基础5

equal ==equal比较的是堆里面的内容;全等比较的是栈里面的地址;String Builder String Bufferbuffer 速度慢 不安全builder 速度快,不安全;public class Buffer { public static void main(String[] args) { StringBuffer s=new Str...

2019-10-27 19:50:00 115

原创 Java基础5

内部类public class Anom { class Anom1{ public void go(){ class Anom2{ class Anom3{ public void to(){ System.out.printl...

2019-10-26 11:31:45 122

原创 Java基础4

面向对象三大特征:封装;private与public的运用,get与set继承;多态;类是对一类事物描述,是抽象概念上的定义;对象是实际存在的该类事物的每个个体,因而也称实例;类是用来描述每一个对象包括的数据特征类描述了每一个对象的行为特征类包括两个方面的内容:属性和方法;声明对象:Student s = new Studen...

2019-10-23 16:49:29 139

原创 Java基础3

double i=-1.0;int j=0;i%j => NaN i/j =>-infinitya=2;b=++a; a=3;b=3;//a先进行加一,再将值赋给ba=2;b=a++; a=3;b=2;//a先将值赋给b;再自身加一;a=2;b=a+3*a++; =>a=3 b=8int x...

2019-10-19 15:51:19 123

原创 Java基础2

自动提升:System.out.println(-2/0) 出现异常;ArithmeticExcept / by zero;System.out.println (-2.0/0) 结果-Infinity;0.0系统定义为无穷小的正数;Java是以unicode【0-255-65535】码作为编码格式,c c++是以ascII码【0-255】作为编码格式;char c1=’\u0...

2019-10-18 20:19:17 132

原创 Java基础1

编译型语言:不能跨平台 速度快 c++;delphi解释型语言:可以跨平台,速度慢 php Javascript vbjava 先编译后解释;jvm java virtual machine 在一台计算机上由软件或硬件模拟的计算机,Java虚拟机读取并解释经编译过的平台无关的字节码class文件,实现跨平台;jre Java runtime environment Java运行环境加载代...

2019-10-18 14:37:06 121

原创 @Autowired @Qualifier @Primary关系

@Autowired 自动注入,spring规范的1),默认按照类型去容器中找对应的组件:applicationContext.getBean(Dao.class);2),如果找到多个相同类型的组件,再将属性的名称作为组建的id去容器中查找applicationContext.getBean(dao);@Qualifier(“dao”):1),使用@Qualifier制定需要装配组件的i...

2019-10-09 11:09:44 143

原创 Spring AOP

ioc 解决类与类之间的高耦合关系aop 解决代码与代码之间的高耦合关系Spring切面应用 5种类型的通知Before 在目标方法被调用之前调用通知功能After 在目标方法完成之后调用通知After—returning 在目标方法成功执行之后调用通知After—throwing 在目标方法抛出异常后调用通知Arround 在调用之前和之后执行自定义的行为。@Aspe...

2019-09-20 17:01:43 86

原创 Spring IOC Java注解描述依赖关系

Spring可以自动搜索Java路径下的Java类,并将其注册成bean实例;需要使用注解来标记bean类;@Component:标注一个普通的Spring Bean类@Controller :标注一个控制器组件@Service:标注一个业务逻辑组件类@Repository:标注一个DAO组件类@Scope:范围@Scope(“singleton”)为默认 当两个对象一致时,为一个地...

2019-09-20 15:47:42 163

原创 Spring XML ApplicationContext与BeanFactory

ApplicationContext:Spring 容器BeanFactory :Spring 框架最核心的接口,提供高级Ioc的配置机制BeanFactory 与ApplicationContext区别:BeanFactory在初始化容器的时候 并未实例化Bean,直到第一次访问的时候才实例目标Bean;与懒加载类似;而ApplicationContext在初始化应用上下文时就实例化所有...

2019-09-20 13:54:08 106

原创 CCF CSP JAVA消除类游戏

import java.util.Scanner;public class Main { public static void main(String[] args){ Scanner input=new Scanner(System.in); int row=input.nextInt(); int col=input.nextInt()...

2019-09-11 19:02:43 383

原创 CCF CSP俄罗斯方块

import java.util.Scanner;public class Main { public static boolean flag=false; public static void main(String[] args) { Scanner input=new Scanner(System.in); int a[][]=new in...

2019-09-11 11:03:37 288

原创 CCF JAVA 窗口

import java.util.*;public class Main { public static void main(String[] args) { Scanner input =new Scanner(System.in); int windowTimes=input.nextInt(); int chickTimes=inp...

2019-09-09 20:40:10 158

原创 ccf java次数最多的数

import java.util.Arrays;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner input=new Scanner(System.in); int num=input.nextInt(); ...

2019-09-09 15:46:13 103

原创 CCF JAVA火车购票

import java.util.Scanner;public class Main { public static boolean flag=false; public static void main(String[] args) { Scanner input = new Scanner(System.in); int num=input....

2019-09-09 09:58:53 245

原创 钥匙盒

package helana;import java.util.Arrays;import java.util.Scanner;public class a{ public static void main(String[] args) { Scanner input=new Scanner(System.in); int classNum=input...

2019-09-05 11:33:15 130

原创 买菜 Java

package helana;import java.util.Scanner;public class a{ public static void main(String[] args) { Scanner input=new Scanner(System.in); int num=input.nextInt(); int time=...

2019-09-03 19:38:23 224

原创 小明放学 Java

题目背景  汉东省政法大学附属中学所在的光明区最近实施了名为“智慧光明”的智慧城市项目。具体到交通领域,通过“智慧光明”终端,可以看到光明区所有红绿灯此时此刻的状态。小明的学校也安装了“智慧光明”终端,小明想利用这个终端给出的信息,估算自己放学回到家的时间。问题描述  一次放学的时候,小明已经规划好了自己回家的路线,并且能够预测经过各个路段的时间。同时,小明通过学校里安装的“智慧光明”终端,...

2019-09-02 16:14:10 229

原创 ccf 模拟题 24点问题

24点问题题目定义每一个游戏由 4 个从 1-9 的数字和 3 个四则运算符组成,保证四则运算符将数字两两隔开,不存在括号和其他字符,运算顺序按照四则运算顺序进行。其中加法用符号 + 表示,减法用符号 - 表示,乘法用小写字母 x 表示,除法用符号 / 表示。在游戏里除法为整除,例如 2 / 3 = 0,3 / 2 = 1, 4 / 2 = 2。老师给了你 n 个游戏的解,请你编写程序验证每...

2019-09-01 11:14:21 1124

原创 c语言双缓冲缓冲机制

#include <string.h>#include <stdio.h>#include <stdlib.h>#include <time.h>#include <math.h>#include <Windows.h>#include <iostream>#include <queue>...

2019-09-01 11:01:49 2869

原创 树中两个节点的最低公共祖先

题目:输入一棵树的两个节点,返回他们的最低公共祖先。当这棵树是二叉查找树时;用递归从树的根节点开始遍历。 private TreeNode find(TreeNode node1, TreeNode node2, TreeNode root) { int val=root.value; if(val>node1.value&&val...

2019-08-17 18:44:24 344

原创 把字符串转换成整数

题目: 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0这个要经过很多的判断,考虑各种不符合的情况首先字符串不能为空,字符串的第一位可以是正负号和数字,字符串剩下的每一位都要是数字,考虑越界的情况,首个符号是负号返回的结果也应该是负数,这个负数的结果可以最后一起加一个负号package helen.d;public c...

2019-08-17 16:01:16 136

空空如也

空空如也

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

TA关注的人

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