自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA集合层次梳理

参考 https://www.cnblogs.com/LittleHann/p/3690187.htmlJava集合类基本概念在编程中,常常需要集中存放多个数据。从传统意义上讲,数组是我们的一个很好的选择,前提是我们事先已经明确知道我们将要保存的对象的数量。一旦在数组初始化时指定了这个数组长度,这个数组长度就是不可变的,如果我们需要保存一个可以动态增长的数据(在编译时无法确定具体的数量),...

2018-07-30 12:06:48 1069

原创 设计模式之——迭代器模式

参考了https://blog.csdn.net/lierming__/article/details/79620577的代码,图片和基本讲解(懒得打了) 都来自于《图解设计模式》——结城浩 著Iterator模式Iterator在英文中有反复做某事的意思,Iterator模式用于在数据集合中按照顺序遍历集合。迭代器(Iterator)模式,又叫做游标(Cursor)模式。GOF给出...

2018-07-29 18:23:28 369 1

原创 源码学习——LinkedList

简介LinkedList是一个实现了List接口和Deque接口的双端链表。LinkedList底层的链表结构使它支持高效的插入和删除操作,另外它实现了Deque接口,使得LinkedList类也具有队列的特性; 内部结构分析 看完了图之后,我们再看LinkedList类中的一个内部私有类Node就很好理解了: 总结内部类! 这个类就代表双端链表的节点Node。这个类...

2018-07-29 17:38:10 248

原创 源码学习之——ArrayList

ArrayList简介ArrayList 的底层是数组队列,相当于动态数组。与Java中的数组相比,它的容量能动态增长。在添加大量元素前,应用程序可以使用ensureCapacity 操作来增加 ArrayList 实例的容量。这可以减少递增式再分配的数量。它继承于AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializab...

2018-07-28 18:56:57 154

转载 JAVA中clone方法——原型模式

转载于(https://blog.csdn.net/zhangjg_blog/article/details/18369201/),总结思考Java中对象的创建clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢?使...

2018-07-28 18:05:58 226

原创 JAVA多线程之——对象锁的理解

多个对象多个锁例子: 输出 代码解释: athread.start()后,调用addI(),传入字符”a”,”a set over”后,线程a睡眠了,并未释放a的锁,bthread.start()后,可以调用addI,因为他们不是一个HasSelfPrivateNum对象,锁也不是一个锁,输出”b set over”,。。。然后a醒来继续输出。。。synchron...

2018-07-28 14:24:24 2210

原创 JAVA多线程——实现同步

转载(https://www.cnblogs.com/soundcode/p/6295910.html)加上了自己的补充和理解为何要使用同步?java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用, 从而保证了该变量的唯一性和准确性。线程同步的方...

2018-07-26 17:20:33 11560 2

原创 JAVA对象的序列化和反序列化

序列化和反序列化的概念把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。对象的序列化主要有两种用途:把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是Web服务器中的Session对象,当有 10万用户并发访问,就有可能出现10...

2018-07-24 19:31:04 796 1

原创 java——多线程基础知识整理

概念进程与线程:一个进程包括由操作系统分配的内存空间,包含一个或多个线程。一个线程不能独立的存在,它必须是进程的一部分。一个进程一直运行,直到所有的非守护线程都结束运行后才能结束。多线程:Java 给多线程编程提供了内置的支持。 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销。多...

2018-07-24 15:19:59 346 1

原创 英文面试准备——自我介绍(一)

tips on the question interviewing yourselfgoal:to prove to the interviewer - to show the interviewer-that you have the skills and experience to be the ideal or perfect candidate for the jobkeep y...

2018-07-21 13:05:42 38015

原创 spring-利用hibernate的session来访问数据层

项目结构 实体类:package entity; //创建一个与customer表对应的实体类,以便存放 Customer对象public class Customer { private int id; private String name; private int age; public Customer(){} pu...

2018-07-17 19:43:13 223

原创 关于Hibernate——基础整理

Hibernate概述什么是hibernate框架 在dao层里面做对数据库crud操作,使用hibernate实现crud操作,hibernate底层代码就是jdbc,hibernate对jdbc进行封装,使用hibernate好处,不需要写复杂jdbc代码了, 不需要写sql语句实现什么是orm思想(重点) orm:object relational mapping,对象关系映射...

2018-07-17 15:07:03 183

原创 Spring访问数据层——jdbctemplate

项目结构从入口TestCustomerService开始public class TestCustomerService { @Test public void testDemo() { ApplicationContext context = new ClassPathXmlApplicationContext(...

2018-07-14 20:06:29 166

原创 Spring整理——注解注入和AOP

Spring的bean管理(注解)注解介绍1 代码里面特殊标记,使用注解可以完成功能2 注解写法 @注解名称(属性名称=属性值)3 注解使用在类上面,方法上面 和 属性上面 Spring注解开发准备1 创建spring配置文件,引入约束 2 开启注解扫描 一般用(1) 注解创建对象1 在创建对象的类上面使用注解实现 2 创建对象有四个注解 3 创...

2018-07-14 11:29:32 663

原创 Spring整理——基础概念(IOC和DI)

Spring概念spring是开源的轻量级框架spring核心主要两部分: (1)aop:面向切面编程,扩展功能不是修改源代码实现 比如有一个类,在类里面有方法(不是静态的方法),调用类里面的方法,需要创建类的对象,使用对象调用方法,创建类对象的过程,需要new出来对象,将这个过程交给spring (2)ioc:控制反转, 把对象的创建不是通过new方式实现,而是交给spring配...

2018-07-14 10:01:30 272

原创 关于Spring访问数据层的几个方法,从spring-jdbc到jdbctemplate到hibernatetemplate

代码结构引入代码从入口开始package spring_jdbc.spring_jdbc;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import spring...

2018-07-13 21:34:18 185

转载 MAVEN其他特性-生命周期-继承-聚合-仓库

生命周期 继承聚合 仓库以上还未整理

2018-07-10 20:36:34 117

转载 MAVEN之POM介绍

编写POMMaven项目的核心是pom.xml,POM(Project Object Model,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等,现在为feishu项目编写一个最简单的pom.xml。<?xml version="1.0" encoding="UTF-8"?><project xmlns="ht

2018-07-10 20:23:14 317

转载 初识MAVEN

什么是MAVENjar包依赖 这个也许会maven最突出的特点了使用maven不需要上网单独下载jar包,只需要在配置文件pom.xml中配置jar包的依赖关系,就可以自动的下载jar包到我们的项目中。这样,别人开发或者使用这个工程时,不需要来回的拷贝jar包,只需要复制这个pom.xml就可以自动的下载这些jar包。而且,我们自己下载jar包,还有可能造成版本的不一致,这样在协同开...

2018-07-10 20:11:18 119

原创 关于String,StringBuilder,StringBuffer,字符串常量池

String是不变得,源码分析https://zhuanlan.zhihu.com/p/38144507如何查看源码https://blog.csdn.net/luo_da/article/details/73744544java.lang.String、StringBuilder、StringBuffer 源码解析https://blog.csdn.net/u011080...

2018-07-09 12:00:06 2323 2

转载 数组类型引用和对象

参考https://www.zhihu.com/question/31203609首先局部变量和方法参数在jvm中的储存方法是相同的,都是在栈上开辟空间来储存的,随着进入方法开辟,退出方法回收。以32位JVM为例,boolean/byte/short/char/int/float以及引用都是分配4字节空间,long/double分配8字节空间。对于每个方法来说,最多占用多少空间是一定的,这...

2018-07-09 10:49:29 1357

原创 JAVA的值传递和引用传递

参考https://www.zhihu.com/question/31203609首先,java中方法参数传递方式是按值传递。如果参数是基本类型,传递的是基本类型的字面量值的拷贝。如果参数是引用类型,传递的是该参量所引用的对象在堆中地址值的拷贝。这两句已经很清楚的解释了JAVA是如何传递方法参数的,即传递值的拷贝(我的理解为在调用方法者的栈帧中,拷贝一份值(不论是基本类型还是地址)...

2018-07-08 20:18:46 7648 5

原创 JAVA反射应用-泛型-通配符

参考https://blog.csdn.net/u012345683/article/details/74858471 https://www.cnblogs.com/fengmingyue/p/6087031.html https://www.cnblogs.com/lwbqqyumidi/p/3837629.html我们为什么需要泛型??1.在1.5之前是没有泛型的,而通常使用ob...

2018-07-07 19:24:51 12599

原创 JAVA反射学习

参考https://blog.csdn.net/xu__cg/article/details/52877573 https://blog.csdn.net/sinat_38259539/article/details/71799078反射机制是Java动态性之一,而说到动态性首先得了解动态语言。那么何为动态语言?一、动态语言动态语言,是指程序在运行时可以改变其结构:新的函数可以引进,...

2018-07-07 10:41:56 177

原创 关于JAVA异常

参考 https://blog.csdn.net/xialei199023/article/details/63251277 http://www.importnew.com/26613.htmlJAVA异常体系Throwable类是整个Java异常体系的超类,都有的异常类都是派生自这个类。包含Error和Exception两个直接子类。Exception是应用层面上最顶层的异...

2018-07-06 16:47:36 279

原创 关于常量池,字符串常量池的整理

由于之前研究了一下JVM的内存划分,对里面方法区的常量池一知半解,于是想要探究一下全局字符串池(string pool也有叫做string literal pool)全局字符串池里的内容是在类加载完成,经过验证,准备阶段之后在堆中生成字符串对象实例,然后将该字符串对象实例的引用值存到string pool中(记住:string pool中存的是引用值而不是具体的实例对象,具体的实例对象是在...

2018-07-04 14:43:54 4943 8

原创 关于类加载机制的理解

参考https://blog.csdn.net/fgets/article/details/52934178 参考https://www.cnblogs.com/fanjie/p/6916784.html类加载机制概念Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的加载机制。Clas...

2018-07-04 10:56:37 323

原创 关于public static void main()

刷《Java程序员面试宝典》P42题时候遇到一个问题 是关于public static void main(String[] args){}public关键字,这个好理解,声明主函数为public就是告诉其他的类可以访问这个函数。static关键字,告知编译器main方法是一个静态方法。也就是说main方法中的代码是存储在静态存储区(方法区)的,即当定义了类以后这段代码就已经存...

2018-07-04 09:43:05 17301 1

原创 由一个JAVA的i++问题而引出来的JVM内存分配问题

遇到一道关于i++的题目public class Test{static{ int x=5;}static int x,y;public static void main(String args[]){ x--; myMethod( ); System.out.println(x+y+ ++x);}public static void myMethod( )...

2018-07-02 21:57:51 1142

原创 关于jvm的栈和帧栈理解

参考 https://blog.csdn.net/jiasanshou/article/details/7007806Java中的栈每当启用一个线程时,JVM就为他分配一个Java栈,栈是以帧为单位保存当前线程的运行状态。某个线程正在执行的方法称为当前方法,当前方法使用的栈帧称为当前帧,当前方法所属的类称为当前类,当前类的常量池称为当前常量池。当线程执行一个方法时,它会跟踪当前常量池。 ...

2018-07-02 20:48:37 2519

原创 JAVA中I/O总结

Java I/O处理字节流的抽象类:InputStream和OutputStream处理字符流的抽象类:Reader和Writer处理过滤流的抽象类:FilterOutputStream和FilterInputStream处理压缩流的抽象类:InflaterInputStream和DeflaterOutputStream 它们之间的关系如下: File类File类表示...

2018-07-02 16:57:13 148

原创 关于ClassLoader知识整理

基础概念将CLASS文件加载到JVM中。但是由于JAR包很多,一次加载内存可能会崩溃,所以要动态的加载这些类。关于CLASS文件JVM虚拟机只识别class文件,所以如果你用C或者别的语言编写完成徐并编译为class文件,JVM虚拟机也可以识别 命令 javac 编译为.class java ~ 加载该类关于环境变量JAVA_HOME 只是一个JDK的目录路径...

2018-07-02 15:57:48 213

空空如也

空空如也

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

TA关注的人

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