自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (19)
  • 收藏
  • 关注

转载 定义Feign API以及使用

实际开发过程使用openFeign定义API的记录

2022-07-11 15:43:49 548

转载 SpringBoot源码解析(一)------启动@SpringBootApplication注解

主程序类(主入口类)@SpringBootApplicationpublic class HelloWorldMainApplication { public static void main(String[] args) { //Spring应用启动 SpringApplication.run(HelloWorldMainApplication.class, args); }}@SpringBootApplication注解定义如下:@

2020-07-24 09:49:25 144

转载 Spring源码-Spring中循环依赖

Spring源码中的3个缓存map/** Cache of singleton objects: bean name to bean instance. *//** singletonObjects 一级缓存,可以理解为spring单利池 存放完整的bean*/private final Map<String, Object> singletonObjects = new ConcurrentHashMap<>(256);/** Cache of singleton f

2020-07-16 10:36:28 243

转载 Class.forName和ClassLoader区别

解释 Class.forName()和ClassLoader都可以对类进行加载。ClassLoader就是遵循双亲委派模型最终调用启动类加载器的类加载器,实现的功能是“通过一个类的全限定名来获取描述此类的二进制字节流”,获取到二进制流后放到JVM中。Class.forName()方法实际上也是调用的ClassLoader来实现的。Class.forName(String className)的源码是@CallerSensitivepublic static Class<?>..

2020-06-08 13:13:12 199

转载 B树和B+树

1.B树1.1 B树的定义每个节点最多有m-1个关键字(可以存有的键值对) 根节点最少可以只有1个关键字 非跟节点至少有m/2个关键字 每个节点的关键字都按照从小到大的顺序排列,每个关键字的左子树中的所有关键字都小于它,而右子树中的所有关键字都大于它 所有叶子节点都位于同一层,或者说根节点到每个叶子节点的长度都相同 每个节点都存有索引的数据,就是对应的key和value 所以,跟节点的关键字数量范围:1<= k <= m-1,非根节点的关键字数量范围:m/2 <...

2020-06-02 16:58:19 525

转载 深入理解AQS

1. AQS实现原理 AQS中维护了一个volatile int state(代表共享资源)和一个FIFO线程等待队列(多线程争用资源被阻塞时会进入此队列)。这里volatile能够保证多线程下的可见性,当state=1则代表当前对象锁已经被占有,其他线程来加锁时则会失败,加锁失败的线程会被放入一个FIFO的等待队列中,比列会被UNSAFE.park()操作挂起,等地其他获取锁的线程释放锁才能被唤醒。 另外state操作是通过CAS来保证并发修改的安全性。描述图 ...

2020-06-02 08:52:16 224

转载 JVM垃圾回收

1 揭开 JVM 内存分配与回收的神秘面纱Java 的自动内存管理主要是针对对象内存的回收和对象内存的分配。同时,Java 自动内存管理最核心的功能是 **堆** 内存中对象的分配与回收。Java 堆是垃圾收集器管理的主要区域,因此也被称作GC 堆(Garbage Collected Heap),从垃圾回收的角度,由于现在收集器基本都采用分代垃圾收集算法,所以 Java 堆还可以细分为:新生代和老年代:再细致一点有:Eden 空间、From Survivor、To Survivor 空间等。进一步.

2020-05-24 16:29:20 94

转载 JVM最完整最深入解析

Java运行时数据区程序计数器:指向当前线程正在执行的字节码指令。线程私有的。 虚拟机站:虚拟机站是Java执行方法的内存模型。每个方法被执行的时候,都会创建一个栈帧,把栈帧压入栈,当方法正常返回或者抛出未捕获的异常时,栈帧就会出栈。 (1) 栈帧:栈帧存储方法的相关信息,包含局部变量表、返回值、操作数栈、动态链接 a) 局部变量表:包含了方法执行过...

2020-05-24 15:49:09 123

转载 Java内存区域

一、运行时数据区域JDK1.8之前:JDK1.8:线程私有:程序计数器 虚拟机栈 本地方法栈线程共享:堆 方法区 直接内存(非运行时数据区的一部分)1.1 程序计数器 程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等功能都需要依赖这个计数器来完成。 另外,为了线程切换后能恢复到正确的执行位置,每条...

2020-05-24 11:14:37 94

转载 HashMap面试

1.HashMap的数据结构?数组+链表实现,当链表长度超过8时,链表转换为红黑树2.HashMap的工作原理?底层是hash数组和单向链表实现,数组中每个元素都是链表,K/V存储put的过程1)调用hash(k)方法计算K的hash值,然后结合数组长度,计算数组下标;2)调整数组大小(当容器的元素个数大于capacity * loadfactor时,容器会进行扩容resize为2n);3)a)如果K的hash值在HashMap中不存在,则执行插入,若存在,则发生碰撞; ..

2020-05-08 21:57:58 265 1

转载 Synchronized面试

1.Synchronized关键字最主要的三种使用方式总结a)修饰实例方法,作用于当前对象实例加锁,进入同步代码前要获得当前对象实例的锁b)饰静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁...

2020-05-08 15:34:59 326

转载 分布式锁

1.为何需要分布式锁主要两个场景:1)避免不同节点重复相同的工作:比如用户执行了某个操作有可能不同节点会发送多封邮件2)避免披怀数据的正确性:如果两个节点在同一条数据上同时进行操作,可能会造成数据错误或不一致的情况出现2.Java中实现的常见方法1)基于Mysql中的锁:Mysql本身有自带的悲观锁for update关键字,也可以自己实现悲观/乐观锁来达到目的;2)基于Z...

2020-04-26 21:40:04 67

转载 Redis-跳跃表

为什么选择跳表经常使用的平衡数据结构有:B树,红黑树,AV树,Splay Tree,Treep等有序表的搜索考虑一个有序表:从该有序表中搜索元素 < 23, 43, 59 > ,需要比较的次数分别为 < 2, 4, 6 >,总共比较的次数为 2 + 4 + 6 = 12 次。把一些节点提取出来,作为索引,得到如下结构:这里我们把 < 14,...

2020-04-26 21:21:58 191

原创 Redis总结

1.为什么要用redis/为什么用缓存1)高性能 第一次访问数据库的数据,非常慢,因为从磁盘上读,将用户访问的数据存在缓存中,这样可以直接从缓存中获取了,操作缓存就是直接操作内存,所以速度相当快。2)高并发 直接操作缓存能够成熟的请求远远大于直接访问数据库,所以把数据库中部分数据转移到缓存中。2.为什么要用redis而不用map/guava做缓存? 缓存分...

2020-04-25 21:16:30 114

转载 Java中fail-fast和fail-safe

1.同步修改 当一个或多个线程正在遍历一个集合Collection,此时另一个线程修改了这个集合的内容,就是并发修改。2.什么是fail-fast机制? fail-fast机制在遍历一个集合时,当集合机构被修改,会抛出Concurrent Modification Exception fail-fast会在以下两种情况抛出ConcurrentModificatio...

2020-04-22 10:41:51 146

转载 1.1 Spring源码解析——核心类介绍

1.DefaultListableBeanFactoryXmlBeanFactory继承自DefaultListableBeanFactory,而DefaultListableBeanFactory是整个bean加载的核心部分,是Spring注册及加载bean的默认实现,而对于XmlBeanFactory与DefaultListableBeanFactory不同的地方就是XmlBeanFact...

2020-04-20 14:32:38 105

转载 Spring源码解析——refresh方法

refresh方法在ConfigurableApplicationContext类中定义的具体实现是在AbstractApplicationContext中实现。这个方法的原文描述信息是:由于这是一个启动方法,如果它调用失败,它应该销毁已创建的单例,以避免悬空资源。换句话说,在调用该方法之后,应该实例化所有单例或者不是单例的对象。接下来分析refresh方法public void ref...

2020-04-10 09:20:17 385

转载 Spring源码解析——ApplicationContext介绍

相比于BeanFactory接口,我们更多时候使用ApplicationContext接口来加载Bean,两个接口都是来加载Bean的,相比之下ApplicationContext提供了更多扩展功能。使用ApplicationContext方式加载XMLApplicationContext ctx = new ClassPathXmlApplicationContext("app.xml")...

2020-04-09 16:24:09 125

原创 第二章 Java并发机制的底层实现原理

1. volatile定义与实现原理1.1 定义 确保共享变量能够被准确和一致的更新,线程应该确保通过排他锁单独获得这个变量,若一个字段被声明为volatile,Java线程内存模型确保所有线程看到这个变量的值时一致的。1.2 当volatile修饰变量,CPU会做什么事情?比如:volatile instance = new Singleton();转变成汇编代码如下:0...

2020-04-09 11:11:01 148

转载 Spring源码解析——createBean方法细节之doCreateBean

doCreateBean方法位于AbstractAutowireCapableBeanFactory方法中protected Object doCreateBean(final String beanName, final RootBeanDefinition mbd, final Object[] args) { // Instantiate the bean. ...

2020-04-09 09:47:37 481

转载 Spring源码学习-getBean方法

getBean方法在BeanFactory中实现,实现的类有5个在这5个类中AbstractBeanFactory完成了getBean()方法的具体实现public Object getBean(String name) throws BeansException { return doGetBean(name, null, null, false);}public &lt...

2020-04-08 15:26:41 386

转载 Spring Bean的生命周期

1. 概要2. 生命周期的概要流程Bean的生命周期主要就是4哥阶段:实例化(Instantiation) 属性赋值(Populate) 初始化(Initialization) 销毁(Destruction)详解:实例化:第1步,实例化一个bean对象; 属性赋值:第2步,为bean设置相关属性和依赖 初始化:第3-7部,其中第5,6步为初始化操作,第3,4步为在初...

2020-04-07 11:20:01 97

转载 Java POI导入导出excel

博客中翻阅到一篇关于Java 利用POI导入导出excel的好文章,这里转载一下,以后便于用

2017-02-07 12:06:18 1143

原创 SSH实现的分页查询和分页实现

最近做项目,需要分页查询,自己在网上查了查,尝试了一下,下面给大家总结归纳一下,希望对大家有用-1)需要一个PageBean    public class PageBean {      private Integer page;//当前页数      private Integer totalCount;//总记录数      private Integer totalPa

2016-12-18 21:44:26 1434

原创 hibernate查询返回List

关于使用Hibetnate执行原始SQL,返回List   SQL语句为:String hql = "select * from goods  g where g.catelog_id =" + parameter;   执行:Query query = this.getSession().createSQLQuery(hql).addEntity(goods.class);   后面

2016-12-05 23:07:13 599

原创 关于Hibernate的查询的总结

最近在做SSH项目,用到了Hibernate的查询方式,自己总结了一下1.HQL查询方式   灵活直观,和SQL查询相差不大,唯一不同的就是把表名换成了类或者对象。其它的,包括一些查询函数(count(),sum()等)、查询条件的设定等,全都跟SQL语法一样。例子:Session session = SessionFactory.getCurrentSession();     

2016-09-07 21:51:59 266

原创 Sprng MVC异常处理总结

关于Spring MVC异常处理的总结

2016-04-16 14:22:29 320

原创 Spring MVC国际化的总结

关于Spring MVC国际化的总结

2016-04-15 16:36:56 970

原创 Spring MVC数据转换的总结

看到一些关于Spring MVC关于数据转换的,总结了一下

2016-04-15 08:52:08 329

原创 Spring AOP总结

关于Spring AOP编程的一些总结

2016-04-06 21:08:45 390

原创 Spring中依赖配置的深入理解

关于Spring依赖关系的深入理解

2016-04-05 10:35:20 231

原创 Spring自学第二天

关于Spring基础学习的第二天

2016-04-03 14:08:33 226

原创 Spring第一天学习总结

在自学spring,做的一些笔记,对后期查阅有帮助

2016-04-01 21:18:54 325

转载 关于HDFS与本地文件的一些总结

关于hadoop中HDFS与本地文件系统的一些操作FileSystem是HDFS文件系统,LocalFileSystem是本地文件系统LocalFileSystem local = FileSystem.getLocal(conf);对FileSystem进行读写操作  文件在本地有HDFS文件系统之间进行copy注意:在windows上使用FileOutputStream创建文件

2016-03-18 22:25:54 1168

原创 关于dom4j的一些总结

由于公司要求掌握dom4j,因此自己趁着闲,去看了看dom4j的部分知识,下面给大家说一下心得

2016-01-08 11:02:27 255

原创 关于JSP中调用css的问题

关于CSS和JSP结合的一点新的

2015-12-02 13:26:39 440

原创 关于eclipse和mysql的汉字乱码问题

关于JDBC向数据库中添加汉字乱码问题的解决方案

2015-08-09 09:47:39 477

教师工作量统计系统

自己动手做的spring、spring mvc和mybatis的web系统,可以运行

2018-06-25

HttpServletRequest和HttpServletResponse的讲解

HttpServletRequest和HttpServletResponse的讲解,讲解了用法,案例

2016-04-18

Java订餐系统

用java开发的一个基于web的订餐系统,希望有用

2016-03-10

eclipse开发hadoop需要的配置jar包

导入这个文件就可以使用eclipse运行hadoop,是2.6.0的版本啊,记住版本必须匹配

2016-03-10

Servlet的jar包

关于Servlet的jar包,费了好久才找到的,希望对大家起到作用

2015-11-24

SQL的经典面试题

一些关于SQL语句的基本操作,可以帮助迅速入门和提高

2015-11-08

关于牛客网Java刷题相关知识总结

这个是我在牛客网上刷了所有Java题,并将查阅相关知识总结出的笔记,绝对有用

2015-11-08

Java和Android的一些面试题

从各大网收集的一些java和android的笔试题,看完了看懂了保证你笔试不怕任何人公司

2015-11-08

2015校园招聘IT笔试题

收集的2015各大公司笔试题,希望对大家有作用

2015-11-08

Sip协议java

关于sip协议通信的,对初学者绝对有用,可以自己对着代码看看。学到不少东西的

2015-07-30

完成的SVM工具箱

完整的SVM工具包,包括二分类、多分类和拟合,很全的

2015-07-28

关于socket对话的

关于实现socket对话的,带有界面的,测试可用

2015-07-28

java实现的sip协议

针对sip协议自己用java写出来的,希望对大家祈祷帮助

2015-07-28

sip协议的java实现

关于sip协议的java实现,对于学习的学者肯定有帮助

2015-07-28

struts2.2帮助文档

关于struts2的帮助文档,可以很好的帮助相关人员查询学习

2015-06-27

开发安卓用的图片资源

整合了很多安卓用的图标,很实用,希望对开发的人提供很大的帮助

2015-05-10

人脸库以及mat

这是本人搜集到的人脸库以及对应的mat文件,很全,对研究人脸的人有很大的帮助

2015-04-02

模糊C均值聚类算法

自己写的模糊C均值聚类算法,也就是FCM,用matlab写的,希望能帮助大家学习

2015-01-19

MAT_UCI数据集

很全的UCI数据集,各种经典的都有,希望能帮到分类和聚类的朋友

2015-01-19

空空如也

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

TA关注的人

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