java持续实践

欢迎关注微信公众号: java持续实践

原创 JVM常用基础参数MaxTenuringThreshold详解

文章目录MaxTenuringThreshold参数讲解MaxTenuringThreshold代码实战 MaxTenuringThreshold参数讲解 在GC回收的时候. 如下图详解 From 区和To区 会来回的复制和交换位置. 每交换一次,就会增加一次年龄. 默认交换了15次, 就会从新生...

2020-05-13 21:03:15 69 0

原创 JVM常用基础参数NewRatio详解

NewRatio参数讲解 在上一篇文章SurvivorRatio的讲解中, 可以知道 新生代占1 , 老年代占2, 即 年轻代占整个堆内存的三分之一. SurvivorRatio的讲解 而NewRatio参数就是用于调整新生代与老年代的占比的. NewRatio 参数实战 使用如下的测试代码...

2020-05-13 20:23:22 65 0

原创 JVM常用基础参数SurvivorRatio详解

SurvivorRatio作用讲解 Java堆从GC的角度, 可以分为 新生代和老年代。 新生代中可以分为伊甸园区(Eden区),From Survivor 区 (S0区)和 To Survivor 区 (S1区)。 占用的空间分别默认为 8:1:1 具体的内容可以看下图 一般默认用 8:1:1...

2020-05-13 19:55:31 58 0

原创 JVM常用基础参数-XX:+PrintGCDetails与GC参数详解
原力计划

文章目录-XX:+PrintGCDetails 参数使用YoungGC 日志的详解Full GC 日志的详解参数解读规律 -XX:+PrintGCDetails 参数使用 -XX:+PrintGCDetails 用于打印输出详细的GC收集日志的信息. 用于测试的代码如下 , 创建了一个50M...

2020-05-10 18:26:38 102 0

原创 Spring IOC容器详解
原力计划

IOC : 控制反转, 把原先我们代码里需要实现的对象创建,依赖的代码, 反转给容器来实现。 DI:dependency injection 依赖注入 就是指对象是被动接受依赖类, 而不是主动去找。 对象不是从容器中查找它依赖的类, 而是在容器实例化对象的时候, 主动将它依赖的类,注入给它。 Sp...

2020-05-03 20:43:33 76 1

原创 Navicat连接Oracle时报错 instant client package is required for basic

在使用Navicat连接Oracle时,报错如下. 主要的原因是要配置 OCI. 具体的配置过程 可参考如下的文章 navicat配置OCI

2020-05-03 13:59:06 48 0

原创 git操作本地和远程仓库 新建分支 切换分支 合并分支 解决冲突.
原力计划

git操作本地和远程仓库 新建分支 切换分支 合并分支 解决冲突.

2020-05-03 12:17:08 101 0

原创 idea条件断点

一. 当断点的变量为基本数据类型时 如下图所示, 循环打印int类型的i. 在断点的位置,右键, 可以跳出断点的条件设置框. 设置你想断点生效的时刻. 例如此时设置为i为50时,断点生效. debug 运行时, 程序断点生效在了 i为50时的情况. 二 . 当断点的变量为对象时 可以用对象的属...

2020-05-03 10:25:45 34 0

原创 vagrant安装centos7

01 创建first-docker-centos7文件夹,并进入其中[目录路径不要有中文字符] 02 在此目录下打开cmd,运行vagrant init centos/7 此时会在当前目录下生成Vagrantfile 修改Vagrantfile文件的内容如下 # -*- mode: ruby -...

2020-05-03 10:07:48 32 0

原创 git生成ssh公钥

在某个文件夹, 右键 ,git bash here 输入如下命令 ssh-keygen -o 如果提示公钥已经存在, 输入y . 之后按回车 会提示公钥存储的位置. 在指定的路径下可以看到公钥 用记事本打开,即可看到公钥 在github的setting中. 新建立公钥 key中复制公钥...

2020-04-30 15:12:34 38 0

原创 文件上传防止攻击的操作

在网站中允许用户上传文件, 上传的文件可能是可执行的脚本, 病毒或者木马文件. 可能会黑掉项目或者数据库. 即使做了文件的后缀限制,但黑客可能也会把病毒的后缀改成常用的文件名后缀, 上传到系统后对系统进行攻击. . 解决的方案 读取这个文件的二进制数据流,根据文件的二进制数据的开头的几个字节代...

2020-04-22 23:03:28 173 0

原创 POI导入处理日期格式

之前写了一篇文章是关于POI导出日期格式导出的,链接如下 POI日期格式导出 最近遇到了一个需求是关于导入时要处理导入时的日期格式的. 日期格式在Excel中比较坑爹的是, 在读取列为日期格式的时候, 可能它的单元格格式可能是字符串, 或者可能是日期, 那么就要根据不同的情况来进行处理. 代码如下...

2020-04-22 22:28:32 52 0

原创 Navicat 连接oracle

工具 --> 选项中配置OCI即可

2020-04-14 14:25:51 45 0

原创 idea菜单栏消失如何调整回来

有一天手贱, 把idea中 view下面的Appearance里面的Main Menu 给反选了 导致idea顶部的菜单栏给消失了, 就像下图这样 导致我无论如何也调不回来了. 后来请教大佬, 可以双击shift键,输入view,选择action里面的View 选择Appearance里面的...

2020-03-31 10:21:54 190 0

原创 JVM常用基础参数元空间MetaspaceSize用法(附加常用JVM参数配置)

元空间是java8中提出来的概念, 在java7中称为永久代. 都是对JVM规范中方法区的实现. 不过元空间与永久代之间最大的区别在于: 元空间并不存在虚拟机中, 而是使用本地内存. 因此默认的情况下, 元空间的大小仅仅受本地内存的限制. 还是使用以下的代码作为实例. public class M...

2020-01-11 17:00:01 197 0

原创 JVM常用基础参数栈内存Xss讲解

JVM常用参数 -Xss 参数为设置单个线程栈的大小, 一般默认为512K~1024K 其等价于 -XX:ThreadStackSize 栈是用来运行方法的, 堆是用来存储数据. 通过此程序查看栈内存大小 public class MyHelloGc { public static v...

2020-01-11 16:08:39 89 0

原创 JVM通过java代码查看初始堆内存大小与最大堆内存大小

如下的jvm代码, 可以查看并打印初始化的堆内存大小和试图使用的最大堆内存大小 public class QueryJVM { public static void main(String[] args){ //返回java虚拟机中的内存总量 long to...

2020-01-11 15:24:19 493 0

原创 JVM修改并查看参数值

如下一个简单的代码. public class JVMDemo { public static void main(String[] args){ int a = 10; int b = 20; int result = a+b; ...

2020-01-11 14:57:53 115 0

原创 JVM查看所有的初始默认值

查看jvm默认值 -XX:+PrintFlagsInitial 主要是查看初始的默认值. 公式有两种, 两者的效果一致. java -XX:+PrintFlagsInitial -version java -XX:+PrintFlagsInitial 如下图: 可以直接在命令行中输入 -XX:+...

2020-01-11 14:25:21 165 0

原创 JVM的XX参数面试题之Xms与Xmx

两个经典参数: -Xms 和 -Xmx 这个两个参数其实是属于xx参数, 它们分别属于下面两个参数的简写 -Xms 等价于 -XX:InitialHeapSize 代表初始化堆内存大小 -Xmx 等价于 -XX:MaxHeapSize 代表最大的堆内存大小 ...

2020-01-11 11:37:32 80 0

原创 JVM的XX参数之设值类型

KV设值类型的公式: -XX: 属性key = 属性值value 例如用如下的程序, 查看堆大小 public class MyHelloGc { public static void main(String[] args) throws InterruptedException { ...

2020-01-11 11:08:03 48 0

原创 JVM的XX参数之布尔类型

XX参数可以分为如下2类: 1.布尔类型 2.KV设置值的类型 其中布尔类型, -XX: +或者- 某个属性值 + 代表开启这个属性 - 代表关闭这个属性 如何查看一个正在运行中的java程序, 它的某个jvm参数是否开启, 具体值是多少? jps: 可以查看当前正在运行的java进程. 类似于L...

2020-01-11 10:47:36 67 0

原创 JVM的标准参数和X参数

JVM的参数类型: 1.标准参数 标准参数不随着JDK版本变化而变化. -version -help X参数 X参数 是非标准参数. 在JDK各个版本中可能会变动 -Xint 解释执行 -Xcomp 第一次使用就编译成本地代码 -Xmixed 混合模式,JVM自己来决定. 先编译后执行.(默...

2020-01-11 10:10:48 75 0

原创 JVM垃圾回收的时候如何确定垃圾?什么是GC Roots?

什么是垃圾: 简单的说, 内存中已经不再被使用的空间,就是垃圾. 例如一个对象指向为null了 Person p1 = null , 那么就可以将p1对象进行回收. 要进行垃圾回收, 怎么判断一个对象是否可以被回收? 引用计数法 (了解) GCRoot (枚举根节点可达性分析(根搜索路径))...

2020-01-07 21:58:15 142 0

原创 mybatis应用分析与最佳实践

传统的JDBC连接数据库的步骤 注册驱动,获取连接 创建Statement 对象 execute()方法执行SQL 把结果集转换成POJO对象 关闭资源 当项目复杂时,使用原生的API会带来的问题: 连接资源管理的复杂,需要手动关闭连接,如果某一个连接忘记关闭,会导致系统资源的消耗。 对数据...

2019-12-15 19:28:22 58 0

原创 WebServiceCXF与Restful架构风格简介

什么是WebService 什么是CXF 为什么用WebServiceCXF 两种传输数据的方式 什么是Restful风格 Restful风格好处 Restful根据请求方式的不同执行不同的操作 什么是WebService 简单的说,WebService是一种多系统之间通信的技...

2019-11-24 14:34:04 86 0

原创 mysql中decimal 去除小数点2位

select 0+cast(a.column as char) as col from table a

2019-11-20 17:51:48 175 0

原创 POI导入

String fileName = file.getOriginalFilename(); Workbook workbook = null; ExcelUtil eu = new ExcelUtil(); //判断文件类型 if (fileName.endsWith("xls"...

2019-10-18 16:49:52 45 0

原创 受检查异常和非受检查异常的区别

文章目录一. 受检查异常和非受检查异常的区别二. 代码示例 一. 受检查异常和非受检查异常的区别 所有的异常,都继承自java.lang.Throwable 衍生出来是子类是Error和Exception Exception 的子类又分为RuntimeException和CheckedExcept...

2019-10-07 11:31:55 487 0

原创 Redis从海量key里查询出某一固定前缀的key

引入问题: 常规的查找key,使用的是KEYS pattern 查找所有符合给定模式pattern的key 但使用keys命令在海量数据下是有问题的 keys指令一次性返回所有匹配的key 键的数量过大会造成服务的卡顿, 需要等很久才会返回结果. 从海量key里查询出某一固定前缀的key 主要...

2019-10-02 16:06:03 1841 0

原创 Redis的常用数据类型

文章目录一. String类型二. Hash 类型三. List类型四. Set五. Sorted Set 一. String类型 String类型为最基本的数据类型, 二进制安全. 可以存储任何的数据 ,包含jpg图片, 序列化的对象等等. 对String类型的指令演示命令如下图所示: 设置值就...

2019-10-02 15:37:03 42 0

原创 HTTP与HTTPS的区别

文章目录一. HTTP与HTTPS的图解区别二. SSL的简介三. HTTPS数据传输流程四. HTTP和HTTPS的区别五.使用HTTPS一定安全吗? 一. HTTP与HTTPS的图解区别 HTTP是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息...

2019-10-02 11:13:25 75 2

原创 Cookie和Session的介绍与区别

一. Cookie简介 Cookie是由服务器发给客户端的特殊信息, 以文本的形式存放在客户端 客户端再次请求的时候, 会把Cookie回发给服务器 服务器接收到请求后, 会解析Cookie, 生成与客户端对应的内容 Cookie的设置以及发送过程: Cookie的设置以及发送过程为如下图所示...

2019-10-02 10:34:11 48 0

原创 GET请求与POST请求区别

从三个层面来回答GET请求与POST请求区别 HTTP报文层面: GET请求将请求信息放在URL, POST请求把请求信息放在报文体中. get请求是有长度限制的, post请求无长度限制. 数据库层面: get请求符合幂等性( 对数据库的一次或多次操纵获得的结果是一致的. )和安全性(对...

2019-09-28 14:57:31 57 0

原创 HTTP相关之一

文章目录一.HTTP的特点二.HTTP请求和响应结构结构1. HTTP的请求结构2. HTTP的响应结构三.关于HTTP的经典面试题四.常见HTTP状态码 一.HTTP的特点 超文本传输协议的主要特点 支持客户端服务端 即C/S模式的 简单快速 客户端向服务器发送请求时, 只需传递请求方...

2019-09-28 11:27:11 42 0

原创 解决扫描漏洞的拦截器

import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.web....

2019-09-20 15:09:40 111 0

原创 Volatile关键字详解

文章目录一. volatile 关键字代码示例二. volatile 关键字的作用三. volatile 关键字原理和实现机制四. volatile 关键字的使用场景五. volatile与synchronized的区别 一. volatile 关键字代码示例 如下的代码没有给局部变量 volat...

2019-08-25 19:16:56 95 0

原创 机器硬件CPU与JMM

文章目录(1)CPU Cache模型(2)JMM (java memory model ) (1)CPU Cache模型 cpu与内存进行数据交互, 存在缓存. 分为一级缓存,二级缓存, 三级缓存 L1i 为一级缓存, 存放指令, L1d(data)存放数据. L2 为二级缓存 L3 为三级缓...

2019-08-25 15:51:14 109 0

原创 三步解决 IDEA 'Error:java: 无效的源发行版: 11'

文章目录问题描述解决方法步骤一步骤二步骤三, 重点!!!! 问题描述 我是把jdk8 升级为jdk11, 升级之后, 编译就报错无效的源发行版: 11 解决方法 步骤一 此处选择jdk11 步骤二 此处选择11 步骤三, 重点!!! 此处选择11 我就是忘记了步骤三,导致一直报编译错误, 把步骤三...

2019-08-10 11:19:41 280 1

原创 markdown语法之链接和图片

行内式链接:方括号中是链接文字,方括号后紧跟的圆括号内是地址(可以是网络地址或者主机的相对地址),网址后空一格双引号引起来的是title文字。title文字可以可以不写。 [我的博客](https://blog.csdn.net/qq_33229669 "我的博客") 显...

2019-07-30 16:58:23 412 0

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