java
文章平均质量分 82
阿早
这个作者很懒,什么都没留下…
展开
-
Java中String对象存储情况
经常能在面试题中看到这个问题,而String的存储情况又比较多,因此罗列出来, 记录一下,方便学习第一种情况 String str1 = "abc"; String str2 = "abc"; System.out.println(str1 == str2);结果为 true程序只创建了一个"abc"字符串对象,存放在常量池,str1创建一个 abc放...原创 2020-04-13 17:55:52 · 328 阅读 · 0 评论 -
SpringBoot+Spring Security Oauth2实现客户端授权
框架使用SpringBoot + Spring Security Oauth2 主要完成了客户端授权 可以通过mysql数据库读取当前客户端表信息进行验证,token存储在数据库中1.引入依赖oauth2 依赖于spring security,需要引入spring, mysql,redis, mybatis<dependencies> &am原创 2018-02-23 14:18:26 · 46575 阅读 · 20 评论 -
SpringBoot2 搭建 Shiro环境 实现权限控制登录
本文搭建环境使用Springboot-2.1.3版本,数据库使用mysql,持久层使用jpa简单实现了用户权限登录的功能,实现的比较简洁,实际项目中根据需求进行修改1. Pom文件首先导入需要的包<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4...原创 2019-03-11 17:45:25 · 2640 阅读 · 0 评论 -
jenkins+springboot+svn+maven 自动化项目部署
1.下载依赖sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo2.导入秘钥sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key3.安装yum install jenk...原创 2019-06-18 17:37:32 · 320 阅读 · 0 评论 -
SpringBoot2 + SpringSecurity + oauth2 搭建用户登录授权框架
前言以前搭建过一个通过SpringSercurity去实现oauth2协议的简单框架,但是整体过于简单了,很多细节的实施都有许多的问题。另一方面呢,查看了网上许多关于这方面的技术文档,发现不是技术老旧,就是抄袭,还有的只是简单的去实现,没有从实际的需求去搭建。这一次决定抽出时间好好把这部分全部解决掉。先简单介绍一下oauth2协议:客户端与服务器之间,存在一个授权层。客户端不能直接访问服务器...原创 2019-07-23 18:20:00 · 6967 阅读 · 0 评论 -
《Java多线程变成核心技术》总结
第一章 Java多线程技能 这一章呢,作者没有写到核心知识,知识简单说明一下线程概念,多线程实现方式(继承Thread,实现Runnable)、共享数据的不安全性、停止线程、线程的优先级一些方法的使用如下:currentThread() 返回当前代码被哪个线程调用的信息。 isAlive()判断当前线程是否处于活跃状态。 sleep()指定好描述让当前执行线程休眠。(不会放弃锁)...原创 2018-09-14 16:24:27 · 236 阅读 · 0 评论 -
volatile原理
文章引用:http://cmsblogs.com/?p=2092本文只是抄下来,方便自己学习和理解。synchronized是一个重量级的锁,虽然JVM对它做了很多优化,而下面介绍的volatile则是轻量级的synchronized。如果一个变量使用volatile,则它比使用synchronized的成本更加低,因为它不会引起线程上下文的切换和调度。Java语言规范对volatile的...转载 2018-09-13 17:31:08 · 124 阅读 · 0 评论 -
深入理解Java虚拟机(2)—— 可达性分析算法、引用类型、对象的自我拯救、垃圾收集算法、HotSpot算法实现、垃圾收集器
1. 概述引用计数算法 给对象添加一个引用计数器,每当有一个地方引用它,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。Java不是用该算法判断对象是否存活。可达性分析算法 通过“GC Root”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链,当一个对象到GC Roots没有任何引用链相连时,则证...原创 2018-04-24 11:02:26 · 738 阅读 · 0 评论 -
深入理解Java虚拟机(3)—— 内存分配与回收策略
1.内存分配与回收策略1.1 对象优先在Eden分配 绝大部分,对象在新生代的Eden区中分配。方Eden区没有足够空间时,虚拟机发起一次MinorGC。 代码演示如下:public class testAllocation { private static final int _1MB = 1024 * 1024; /** * V M 参数 : -XX:...原创 2018-05-09 17:04:49 · 174 阅读 · 0 评论 -
垃圾收集器参数总结使用
垃圾收集器参数总结使用-XX:+<option> 启用选项-XX:-<option> 不启用选项-XX:<option>=<number> -XX:<option>=<string> 参数 描述 使用收集器类型 -XX:UseSerialGC 虚拟机运行在Client模式下的默认值,打开此开关后,使用Serial+原创 2018-05-09 15:42:22 · 295 阅读 · 0 评论 -
Java8 与 Java7 对象分配内存差异 探索
通过学习“深入理解Java虚拟机”这本书,在书的92页内存分配这一章节遇见了问题。代码 运行在Java7上 ,结果如下 /** * V M 参数 : -XX:+UseSerialGC -Xms20M -Xmx20M -Xmn10M -XX:+PrintGCDetails -XX:SurvivorRatio=8 * -XX:+UseSerialGC 设置使用Serial...原创 2018-05-10 11:58:03 · 608 阅读 · 1 评论 -
深入理解Java虚拟机 (4)—— 虚拟机类加载
概述 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、准备、解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 类从被加载到虚拟机内存中开始,到卸载出内存为止,他的生个生命周期包括:加载、验证、准备、解析、初始化、使用、卸载7个阶段。其中验证、准备、解析部分统称为连接。 加载、验证、准备、初始化、卸载,这5个阶段顺序是确定的,但...原创 2018-06-08 16:17:03 · 214 阅读 · 0 评论 -
深入理解Java虚拟机 (5)—— JVM类加载器
类加载器的作用 通过一个类的全限定名来获取此类的二进制字节流,将一个类加载到虚拟机内存中。类加载器类型 1.启动类加载器(Bootstrap ClassLoader):该类加载器负责将存放在<JAVA_HOME>\lib目录中的,或者被 -Xbootclasspath参数所指定的路径中,并且是虚拟机识别的(名字不符合不会被加载)的...原创 2018-06-12 14:51:46 · 168 阅读 · 0 评论 -
深入理解Java虚拟机 (4)—— 类文件结构
概述: Class文件结构是了解虚拟机的重要基础之一,如果想深入的了解虚拟机,Class文件结构是不能不了解的。Class文件是一组以8位字节为基础单位的二进制流,各项数据项目严格按照顺序紧凑地排列在Class文件之中,中间没有添加任何分隔符,如果是超过8位字节以上空间的数据项,则会按照高位在前的方式(Big-Endian)分割成若干个8位字节进行存储。Class文件中包含了Jav...转载 2018-09-13 16:49:37 · 166 阅读 · 0 评论 -
《Spring实战》1.Spring介绍
Spring体系模块 组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。 Spring 上下文...原创 2018-09-16 16:28:39 · 282 阅读 · 0 评论 -
JVM 学习整理(1)-- java内存区域,对象的创建
java内存区域Java 虚拟机所管理的内存将会包括下几个运行时数据区域:程序计数器 一块较小的内存空间,当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程回复等基础工作都需要依赖这个计数器完成。 2. Java虚拟机栈 生命周期与线程相同。其中描述的是Java方法执行的内...原创 2018-04-19 17:36:57 · 228 阅读 · 0 评论