![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 70
forrestGTJU
这个作者很懒,什么都没留下…
展开
-
六个设计原则--依赖倒置原则
3.1 依赖倒置原则的定义依赖倒置原则(Dependence Inversion Principle,简称DIP)这个名字看着有点别扭,“依赖”还“倒置”,这到底是什么意思?依赖倒置原则的原始定义是:High level modules should not depend upon low level modules. Both should depend upon abstractions...转载 2019-12-19 08:17:19 · 227 阅读 · 0 评论 -
Spring MVC @ResponseBody响应中文乱码
问题:在前端通过get请求服务端返回String类型的服务时,会出现中文乱码问题原因:由于spring默认对String类型的返回的编码采用的是 StringHttpMessageConverter>>> spring mvc的一个bug,spring MVC有一系列HttpMessageConverter去处理用@ResponseBody注解的返回值,如返回list则...转载 2019-03-22 11:17:19 · 275 阅读 · 0 评论 -
谈谈Spring中都用到了那些设计模式
Design Patterns(设计模式) 表示面向对象软件开发中最好的计算机编程实践。 Spring 框架中广泛使用了不同类型的设计模式,下面我们来看看到底有哪些设计模式?控制反转(IoC)和依赖注入(DI)IoC(Inversion of Control,控制翻转) 是Spring 中一个非常非常重要的概念,它不是什么技术,而是一种解耦的设计思想。它的主要目的是借助于“第三方”(Spr...转载 2019-06-06 13:45:16 · 1107 阅读 · 0 评论 -
JDK 1.8 JVM内部结构改变_元空间(Metaspace)取代永久代(PermGen)
一、JVM 运行时数据区 根据 JVM 规范,JVM 运行时数据区共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。 1、虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创建一个栈帧,栈帧中存放了局部变量表(基本数据类型和对象引用)、操作数栈、方法出口等信息。栈的大小可以固定也可以动态扩展。当栈调用深度大于JVM所允许...转载 2019-06-17 11:33:39 · 612 阅读 · 0 评论 -
Java中Class对象详解
Class类简介 在java世界里,一切皆对象。从某种意义上来说,java有两种对象:实例对象和Class对象。每个类的运行时的类型信息就是用Class对象表示的。它包含了与类有关的信息。其实我们的实例对象就通过Class对象来创建的。Java使用Class对象执行其RTTI(运行时类型识别,Run-Time Type Identification),多态是基于RTTI实现的。 每一...转载 2019-06-17 11:57:54 · 832 阅读 · 0 评论 -
Java反射机制
JAVA反射机制从动态语言说起反射什么是类 Class方法的反射成员变量的反射构造函数的反射Class类的动态加载类从动态语言说起反射“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言。但是JAVA有着一个非常突出的动态相关机制:Reflection,用在Java身上指的是我们可以于...转载 2019-06-17 14:54:16 · 142 阅读 · 0 评论 -
Java 自动内存管理机制及性能优化
先看思维导图一、运行时数据区域首先来看看Java虚拟机所管理的内存包括哪些区域1.1 程序计数器程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。由于 Java 虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器(对于多核处理器来说是一个内核)都只会执行一条线程中的指令。 为了线程切换后能...转载 2019-07-29 10:56:28 · 263 阅读 · 0 评论 -
Java中String类为什么要设计成不可变类-- String源码分析
String类是不可变类,类的实例创建的时候初始化所有的信息,并且这些信息不能被修改 字符串常量池: 是方法区中一块特殊的存储区域,当创建一个字符串常量的时候,判断该字符串字在符串字符串常量池中是否已经存在 如果存在,返回已经存在的字符串的引用;如果不存在,则创建一个新的字符串常量,并返回其引用 String s1 = "abcd";String s2 = "abcd";Syst...转载 2019-07-26 17:29:41 · 308 阅读 · 0 评论 -
HashMap底层实现详解
HashMap底层实现详解前言Java中的hashCode和equals关于hashCode关于equalsHashMap的实现原理Hashmap基本结构讲解存储数据过程put(key,value)HashMap的resize取数据过程get(key)扩容问题前言HashMap底层实现采用了哈希表,这是一种非常重要的数据结构。对于我们以后理解很多技术都非常有帮助(比如:redis数据库的核心技...原创 2019-08-20 09:14:34 · 694 阅读 · 0 评论 -
volatile关键字的理解
volatile关键字的理解被volatile修饰的共享变量,就具有了以下两点特性:① 保证了不同线程对该变量操作的内存可见性② 禁止指令重排序什么是内存可见性,什么又是重排序呢?从Java内存模型说起吧。Java虚拟机规范试图定义一种Java内存模型(JMM),来屏蔽掉各种硬件和操作系统的内存访问差异,让Java程序在各种平台上都能达到一致的内存访问效果。简单来说,由于CPU执行指...原创 2019-08-20 11:29:11 · 200 阅读 · 0 评论 -
win7下安装Maven,并在Myeclipse2013中配置
进入官网,http://maven.apache.org/download.cgi解压到D盘根目录下然后如下进行环境变量设置(类似java环境配置):这里的Maven安装目录是D:\bin\apache-maven-3.0,接着需要设置环境变量,将Maven安装配置到操作系统环境中。打开系统属性面板(桌面上右键单击“我的电脑”→“属性”),点击高级系统设置,再点击环境变量,在系统变...原创 2018-12-15 23:17:02 · 145 阅读 · 0 评论 -
尝试搭建maven project的spring-boot项目报错Error parsing lifecycle processing instructions
jdk:1.8开发工具:eclipse4.6(neon)问题及其产生背景刚开始学习搭建spring-boot项目,这里遇到一个问题,花了一点时间,现在把它记录下来。新建完maven项目之后,在向pom.xml文件添加parent节点(内容如下)时文件报错了。<parent><groupId>org.springframework.boot</groupId>&l...转载 2018-05-18 21:27:27 · 733 阅读 · 0 评论 -
java类初始化过程
/*测试3个内容:类加载顺序子父类执行过程对象初始化过程从几次试验我们看到当执行到类时,类被加载到内存,并初始化静态成员被加载到共享区不用实例化对象就可以调用静态资源静态成员变量,静态成员方法,静态代码块,只初始化一次而普通变量,普通代码块,构造方法,在每次实例化对象时都要初始化子类对象要初始化时,会先初始化父转载 2012-01-04 22:00:58 · 502 阅读 · 0 评论 -
Date、String和Timestamp类型转换
闲来无事,就做了一下技术总结,可能网上关于date与String类型的转换到处都是,我也承认,写这边类型转换之前也有看过那些文档,但是都几乎千遍一律,同时我觉得自我重新总结一遍,会有很大帮助,因此写下该日期处理总结:1、String与Date类型转换:1、获取当前系统时间:Date date1 = new Date(); //获取系统当前时间Calendar cal = C转载 2013-05-10 10:55:19 · 1574 阅读 · 0 评论 -
根据身份证号码判断性别 java
摘自www.mylinux.com.cn这是鄙人写的一个方法,用过身份证号来判别出用户的性别。@value为用户输入的身份证号。我只知道身份证号码最末尾一个数字为奇数时,性别为男;为偶数时,性别为女。但是有些特殊情况比如最末尾一个数字为字母的情况,我现在只遇到两种情况时,一个为X一个为E,都是男性,所以我作为特别情况给判断啦,各位兄弟姐妹们,你平常们碰到类似的情转载 2013-07-19 15:36:44 · 15383 阅读 · 1 评论 -
浅谈Java SE、Java EE、Java ME三者的区别
浅谈Java SE、Java EE、Java ME三者的区别2009-06-18 15:27 中国IT实验室 我要评论(1) 字号:T | T本文把JAVA SE、JAVA EE、JAVA ME拿来做下区别,同时也分享一下作者的一些成果。目前的Java平台根据软件开发人员、服务提供商和设备生产商可以针对特定的市场可以分为三个版本JAVA SE、JAVA EE、JAV转载 2013-08-01 22:23:35 · 677 阅读 · 0 评论 -
Java日期计算(Calendar类)
主要学习的日期操作主要是-----获取日期字段(年、月、日、年中的天数、年中的周数等)、计算两个时间的间隔日期(年、月、天)、根据开始时间间隔时间计算结束时间。 关于Calendar日历的字段值,我从JDK中摘抄了一些我认为比较重要的,如下:常规的年月日时分秒:static int YEAR 指示年的 get 和 set 的字段数字。 stati转载 2013-09-04 17:21:00 · 940 阅读 · 0 评论 -
String的常用操作方法
2、String的常用操作方法2.1、字符与字符串 在String类中提供了以下的方法操作字符与字符串间的转换关系:|-根据字符串中提供的索引找到指定位置的字符:public char charAt(int index)|-将字符串变为字符数组:pub转载 2011-10-16 09:55:54 · 610 阅读 · 0 评论