- 博客(19)
- 资源 (4)
- 收藏
- 关注
原创 在idea中如何解决lombok的@Data注解失效的问题
代码:对象:@Datapublic class Apple { private String Color; private int Weight;}测试类:public class Demo { public static void main(String args[]){ Apple apple = new Apple(); apple.setColor("white"); apple.setWeight(10
2021-02-01 20:31:02
968
原创 浅谈Java集合
在讲集合之前,我们先看一张java中所有集合的图: 大致的我们可以分为三种:List,Set,Map,这三类都是接口,例如ArrayList,HashMap,HashSet等都是它的实现类,所以我们这就是为什么不能new List();,new Map();那么现在就分别来讲讲主要的几个集合实现类。一:ListList是有序,且重复的,特...
2018-09-08 14:09:27
448
1
原创 Java的装箱拆箱
简单一点说,装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。下面就是对应的基本类型和包装类型: int(4字节)--Integer byte(1字节)--Byte short(2字节)-- Short long(8字节)--Long float(4字节)-- Float double(8字节) -- D...
2018-08-22 23:02:38
325
原创 深入了解String相关内容
文章内容是根据文末的文章总结而来,内容不全面也不缜密: 一、定义publ从该类的声明中我们可以看出String是final类型的,表示该类不能被继承,同时该类实现了三个接口:java.io.Serializable、 Comparable<String>、 CharSequence:public final class String implements java.i...
2018-08-13 23:59:49
298
转载 Java编译和反编译
编程语言 编程语言(Programming Language)分为低级语言(Low-level Language)和高级语言(High-level Language)。机器语言(Machine Language)和汇编语言(Assembly Language)属于低级语言,直接用计算机指令编写程序。而C、C++、Java、Python等属于高级语言,用语句(Statement)编写程序,...
2018-07-29 00:28:03
400
原创 Java类加载机制
为什么会有类加载机制呢?是因为Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做的工作实质是把类文件从硬盘读取到内存中,具体它是怎么做的,我们就好好来看下。 什么是双亲委派模型? 首先什么是类加载器?类加载器就是根据指定全限定名称将class文件加载到JVM内存,转为Class对象。从JVM角度来看,只存在两种类...
2018-07-07 21:03:49
448
原创 JVM之JIT
JIT(just in time):即时编译编译器,能够加速 Java 程序的执行速度。通常通过 javac 将java代码编译,转换成 java 字节码,JVM将字节码将其翻译成机器指令,逐条读入,逐条解释翻译。很显然,经过解释执行,其执行速度必然会比可执行的二进制字节码程序慢很多。为了提高执行速度,引入了JIT,它会在运行时把翻译过的机器码保存起来,以备下次使用。JIT 编译过程 ...
2018-07-03 23:29:17
4058
原创 JVM垃圾回收
对上篇文章的一些补充: 1.Native方法:指本地方法,当在方法中调用一些不是由java语言写的代码或者在方法中用java语言直接操纵计算机硬件时要声明为native方法。 2.直接内存:在JDK1.4中新加入类NIO类,引入了一种基于通道与缓冲区的I/O方式,它可以使用Native函数库直接分配堆外内存,即我们所说的直接内存,这样在某些场景中会提高程序的性能。 我...
2018-06-24 21:27:51
297
转载 适配器模式
适配器模式:一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。适配器模式有类的适配器模式和对象的适配器模式两种不同的形式。类适配器模式: 类的适配器模式把适配的类的API转换成为目标类的API 目标(Target)角色:这就是所期待得到的接口。源(Ada...
2018-06-10 18:20:48
177
原创 Java内存模型
Java内存模型描述了在多线程代码中哪些行为是合法的,以及线程如何通过内存进行交互。它描述了“程序中的变量“和”从内存或者寄存器获取或存储它们的底层细节”之间的关系。Java内存模型通过使用各种各样的硬件和编译器的优化来正确实现以上事情。 Java包含了几个语言级别的关键字,包括:volatile, final以及synchronized,目的是为了帮助程序员向编译器描述一个...
2018-06-10 13:33:34
237
转载 JAVA对象模型
首次接触到java对象头的时候还是看SYNCHRONIZED关键字的时候,下面的内容也是比较生涩难懂,目前的我做不到完全理解,但我会多去咀嚼,理解。现在我们来好好的看看Java对象模型: 几乎所有的Java对象保存在堆内存中(有例外,自行了解),在内存中Java对象包含三部分:对象头、实例数据和对齐填充。其中对象头是一个很关键的部分,因为对象头中包含锁状态标志、线程持有的锁等标志...
2018-06-09 22:16:30
5964
1
原创 JVM内存模型总结
JVM内存模型: 从这张图中很直观的看到,程序计数器,虚拟机栈,native栈是线程私有的,堆是线程共有的,现在详细介绍JVM各个区块。 1. 堆(Heap) 是java虚拟机所管理的内存中最大的一块内存区域,也是被各个线程共享的内存区域,该内存区域存放了对象实例及数组(但不是所有的对象实例都在堆中)。其大小通过-Xms(最小值)和-Xmx(最大值)参数设...
2018-05-21 22:59:36
46060
7
转载 单例模式
单例模式: 提供了一种创建对象的方式,这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 优点: 1、在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例(比如管理学院首页页面缓存)。 2、避免对资源的多重占用(比如写文件操作)。缺点:没有接口,不能继承,与单一职责原则冲突...
2018-05-14 23:33:19
147
转载 代理模式
代理模式:用来解决直接访问带来的问题(比如对象创建开销很大,或某些操作需要安全控制,或者需要进程外的访问),增加中间层,实现与被代理类组合。 应用实例: 1、Windows 里面的快捷方式。 2、猪八戒去找高翠兰结果是孙悟空变的,可以这样理解:把高翠兰的外貌抽象出来,高翠兰本人和孙悟空都实现了这个接口,猪八戒访问高翠兰的时候看不出来这个是孙悟空,所以说孙悟空是高翠兰代理类。 3、买火车票不一定在火...
2018-05-12 23:50:56
340
原创 设计模式开篇之说
我开始看java设计模式的时候,先看《大话设计模式--吴强》这本书,然后也看了菜鸟教程中设计模式的阐述,最后再借鉴其他前辈对设计模式的理解,站在巨人肩膀上看世界,可能已经很难记清到底参考了谁的文章,所以以后我的所有关于设计模式的文章都会写为转载,要是看官们能指出是谁的文章,我会修改文章,加上大佬的原文地址。...
2018-05-12 23:12:37
159
转载 设计模式原则
转自:https://blog.youkuaiyun.com/u014507244/article/details/52706059设计模式的六种原则是设计模式的精髓所在,掌握了设计原则,你会在无形中用到设计模式。设计原则主要有六个:单一职责原则、里式替换原则、依赖倒置、接口隔离原则、迪米特法则、开闭原则。单一职责原则不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题由来:类T负责两个...
2018-05-12 23:06:18
1367
原创 SpringBoot+Shiro实现登陆拦截功能
上一章讲到使用自定义的方式来实现用户登录的功能,这章采用shiro来实现用户登陆拦截的功能。 首先介绍下Shiro:Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理,以下是shiro的整体的框架:Subject: 即"用户",外部应用都是和Subject进行交互的,subject记录了当前操作用户,将用户的概念理解为当前操作的主...
2018-04-21 17:16:55
31026
8
原创 SpringBoot用户登陆拦截以及解决页面重定向问题
SpringBoot的默认启动时,对资源拦截的控制台信息如下:2018-04-13 10:02:30.090 INFO 78908 --- [ restartedMain] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.spr...
2018-04-13 10:48:05
32672
1
原创 SpringBoot整合BootStarp
一开始在将BootStrap整合到项目中时,以为SpringBoot项目和以前的javaWeb一样,直接在页面中引用css,js即可,但是打开界面时,样式效果出不来,后来看了几篇文章以及自己摸索,现将代码展示如下:1.Pom文件<properties> <webjars-locator>0.32-1</webjars-locator> ...
2018-04-03 18:32:30
4383
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人