![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
淡淡的C
这个作者很懒,什么都没留下…
展开
-
Java多线程和JDK1.5多线程新特性
线程:一行行代码往下执行。Thread 的 run() ,如果没被覆盖,且为Thread设置了Runnable对象,则会调用Runnable的run(); 线程互斥与同步通信线程安全问题可以用银行转账来说明。 线程同步:必须把锁加在同一对象上,或同一类上,方法上加synchronized ,同一个对象的Wait();等待 notify();唤醒任意一个 线...翻译 2018-06-22 23:01:48 · 389 阅读 · 0 评论 -
JAVA字符串替换replace、replaceAll、replaceFirst之间区别详解
String的replaceAll跟replaceFirst用到了正则表达式String s = "my.test.txt";System.out.println(s.replace(".", "#"));System.out.println(s.replaceAll(".", "#"));System.out.println(s.replaceFirst(".", &q翻译 2018-09-04 14:16:14 · 721 阅读 · 0 评论 -
JAVA中Integer的缓存机制
public static void main(String[] args) { Integer num1 = new Integer(100); Integer num2 = new Integer(100); System.out.println("num1==num2 " + (num1 == num2)); Integer num3 = 100...转载 2018-09-04 14:40:50 · 3530 阅读 · 2 评论 -
Apache Commons 工具类介绍及使用
Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动。 组件 功能介绍 BeanUtils 提供了对于JavaBean进行各种操作,克隆对象,属性等等. Betwixt XML与Java对象之间相互转换. Codec 处理常用的编码方法的工具类包 例如DES、SHA1、MD5、Base64等....转载 2018-09-05 15:56:30 · 1743 阅读 · 0 评论 -
Java中static class使用方式
java允许在一个类里面定义静态类。如内部类(nested class)。在java中,不能用static修饰顶级类(top level class)。只有内部类可以为static。 静态内部类和非静态内部类之间区别:1. 内部静态类不需要有指向外部类的引用。但非静态内部类需要。2. 静态类只能访问外部类的静态成员,非静态内部类能够访问外部类的静态和非静态成员。3. 非...转载 2018-09-03 15:10:30 · 30725 阅读 · 3 评论 -
Java中static(静态变量/方法)的优缺点
static关键字声明的变量或方法称为静态变量/方法静态static变量/方法在类加载的过程中被初始化,在内存中只存在一份,所以可以把它当作是全局变量/方法。优点属于类级别的,不需要创建对象就可以直接使用.全局唯一,内存中唯一,静态变量可以唯一标识某些状态.在类加载时候初始化,常驻在内存中,调用快捷方便.应用场景: 1. 静态方法最适合工具类中方法的定义;比如文件...翻译 2018-09-03 15:45:24 · 15111 阅读 · 3 评论 -
JAVA中API和SPI的区别
* API(Application Programming Interface )在java中,API是指可以用来完成某项功能的类、接口或者方法。SPI(Service Provider Interface)SPI是指用来继承、扩展,完成自定义功能的类、接口或者方法。API直接为你提供了功能,你使用API就能完成任务。SPI是一种回调的思想。回调是指在使用api时,可以向a...转载 2018-09-07 17:23:49 · 4239 阅读 · 0 评论 -
swagger2常用注解释义
@Api:用于请求类上,说明类的作用 tags="说明该类的作用,显示在UI界面上" value="可不配置"@ApiOperation:用于请求方法上,说明方法的用途及作用 value="说明方法的用途、作用" notes="方法的备注说明"@ApiImplicitParams:用于请求方法上,表示一组参数说明@ApiImplicitParam:用于@A...翻译 2018-10-18 10:07:00 · 509 阅读 · 0 评论 -
springboot1.5.3+redis+shiro1.3.2+springcloud+nginx登录后shiro的subject为null问题解决
一、 问题描述线上环境:springboot1.5.3+redis3.4-cluster集群+shiro1.3.2+springcloud+nginx本地开发:springboot1.5.3+redis3.4-cluster集群+shiro1.3.2本地开发时,一切正常。上线后,登录正常,之后访问其他功能对shiro权限认证,产生Subject().isAuthenticated() = ...原创 2018-11-10 12:17:22 · 1529 阅读 · 0 评论 -
substring的原理及其在JDK6和JDK7实现区别
substring(int beginIndex, int endIndex)方法在jdk 6和jdk 7中的实现是不同的。substring(int beginIndex, int endIndex)方法 截取字符串并返回其[beginIndex,endIndex-1]范围内的内容String x = "abcdef";x = x.substring(1,3);Syst...翻译 2018-09-04 14:08:25 · 493 阅读 · 0 评论 -
JVM类加载机制
什么是类的加载类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。类加载器并不需要等到某个类被“首次主动使用”...转载 2018-08-31 16:57:42 · 217 阅读 · 0 评论 -
java annotation自定义注解步骤
自定义注解的语法要求 @Target({ElementType.METHOD}) // 作用域 CONSTRUCTOR FIELD LOCAL_VARIABLE METHOD PACKAGE PARAMETER TYPE @Retention(RetentionPolicy.RUNTIME)//生命周期,source,class,runtime,@Inherited //允许子类继...翻译 2018-06-22 23:14:09 · 575 阅读 · 0 评论 -
Ajax跨域问题产生的原因及解决方法
如果前后台不是同一域,就会产生跨域问题。前端jasmine测试框架。 产生跨域的原因:1.浏览器限制2.跨域:协议,域名,端口任何一个不同就是跨域3.Xhr(XMLHttpRequest)请求 解决思路:1.改动客户端浏览器参数来解除限制 浏览器启动加入 --disable-web-security2.Jsonp解决xhr请求问题. jsonp动态创建script标签,请求中类型ty...翻译 2018-06-24 17:46:58 · 2268 阅读 · 0 评论 -
JDK1.5--1.8各个版本的新特性
对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言。今天先为大家介绍一下JDK1.5版本到JDK1.7版本的特性。希望能给予帮助。JDK1.5新特性: 1.自动装箱与拆箱:自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中。自动拆箱的过程:每当需要一个值时...转载 2018-07-04 16:31:26 · 228 阅读 · 0 评论 -
垃圾收集器GC(Garbage Collector)的Root对象分类
判断对象是否存活2种方式:引用计数:每个对象有一个引用计数属性,新增一个引用时计数加1,引用释放时计数减1,计数为0时可以回收。此方法简单,无法解决对象相互循环引用的问题。可达性分析(Reachability Analysis):从GC Roots开始向下搜索,搜索所走过的路径称为引用链。当一个对象到GC Roots没有任何引用链相连时,则证明此对象是不可用的。属于不可达对象。GC会收...转载 2018-07-05 11:41:36 · 435 阅读 · 0 评论 -
java闭包详解
一、为什么需要闭包。闭包的价值在于可以作为函数对象或者匿名函数,持有上下文数据,作为第一级对象进行传递和保存。闭包广泛用于回调函数、函数式编程中。二、JAVA中的闭包。 在JAVA中,闭包是通过“接口+内部类”实现,JAVA的内部类也可以有匿名内部类。1、内部类。 在JAVA中,内部类可以访问到外围类的变量、方法或者其它内部类等所有成员,即使它被定义成p...翻译 2018-08-09 17:17:36 · 31239 阅读 · 5 评论 -
Java设计模式快速入门
原文地址 https://www.cnblogs.com/malihe/p/6891920.html一、设计模式分类大体上分为三大类: 创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代...转载 2018-08-23 15:40:59 · 155 阅读 · 0 评论 -
JAVA架构师的成长之路
一、基础篇JVMJava基础知识二、进阶篇Java底层知识一、基础篇JVMJVM内存结构 堆、栈、方法区、直接内存、堆和栈区别Java内存模型 内存可见性、重排序、顺序一致性、volatile、锁、final垃圾回收 内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定JVM参数及调优Java对象模型 oo...翻译 2018-08-30 23:47:49 · 339 阅读 · 0 评论 -
JVM内存结构布局
Java的内存结构JVM内存结构主要有三大块:堆内存、方法区和栈。 堆内存是JVM中最大的一块由年轻代和老年代组成,而年轻代内存又被分成三部分,Eden空间、From Survivor空间、To Survivor空间,默认情况下年轻代按照8:1:1的比例来分配;方法区存储类信息、常量、静态变量等数据,是线程共享的区域,为与Java堆区分,方法区还有一个别名Non-Heap(非...转载 2018-08-31 09:50:59 · 173 阅读 · 0 评论 -
springboot1.5.3+shiro1.3.2+redis单节点及集群集成
项目要求直接在配置文件中可切换redis单节点和集群模式,以前依赖shiro-redis开源项目,虽然可切换但有点麻烦,研究借助spring-data-redis直接集成。一、配置文件spring: redis: database: 0 host: redis password: port: 6379 timeout: 60000 ...原创 2018-11-13 10:29:17 · 1502 阅读 · 3 评论