![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
zyj_369
曾经的我 一身迷彩 手握钢枪 现在的我 对新科技充满着无限好奇 喜欢专研大数据技术 希望可以和志同道合的人一起加油 一起圆梦
展开
-
jvm优化参数讲解
1、为什么要进行JVM优化在本地开发环境中我们很少有需求对JVM进行优化,但是到了生产环境我们的程序可能出现如下问题:运行的引用卡住了,日志不输出,程序没反应服务器的CPU负载突然升高在多线程应用下,如何合理的分配线程的数量2、JVM运行参数2.1、堆设置-Xms 堆内存的最小大小,默认为物理内存的1/64-Xmx 堆内存的最大大小,默认为物理内存的1/4-Xmn 堆内新生代的大小。通过这个值也可以得到老生代的大小:-Xmx减去-Xmn-Xss 设置每个线程可使用的内存大小,即栈的原创 2020-11-26 18:43:28 · 274 阅读 · 0 评论 -
json详细介绍
一、概念Json是一种轻量级的数据交换格式,采用一种“键:值”对的文本格式来存储和表示数据,在系统交换数据过程中常常被使用,是一种理想的数据交换语言。JSON字符串必须是一个字符串,由双引号或者单引号包裹数据,支持字符串的各种操作JSON字符串里面的数据格式应该要满足其中一个格式,可以是json对象,也可以是json对象数组或者是两种基本形式的组合变形。二、语法2.1、json对象 { "name": "zhangsan", "age": 18, "sex": "男"}解析原创 2020-11-19 11:48:39 · 927 阅读 · 0 评论 -
java多线程创建之线程池的方式
一、概念:经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对性能影响很大提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中。可以避免频繁创建销毁、实现重复利用。好处:提高响应速度(减少了创建新线程的时间)降低资源消耗(重复利用线程池中线程,不需要每次都创建)便于线程管理:corePoolSize:核心池的大小maximumPoolSize:最大线程数keepAliveTime:线程没有任务时最多保持多长时间后会终止等等线程池的几种形式:Executors原创 2020-11-17 10:13:35 · 93 阅读 · 0 评论 -
java多线程创建之实现Callable的方法
一、理解 Future接口: 可以对具体Runnable、Callable任务的执行结果进行取消、查询是 否完成、获取结果等。FutrueTask是Futrue接口的唯一的实现类FutureTask 同时实现了Runnable, Future接口。它既可以作为Runnable被线程执行,又可以作为Future得到Callable的返回值 实现Callable接口的方式创建多线程比实现Runnable接口创建多线程方式强大? call()可以有返回值的。call()可以抛出异常原创 2020-11-17 09:37:58 · 391 阅读 · 0 评论 -
java死锁例子代码展示
一、死锁的理解不同的线程分别占用对方需要的同步资源不放弃, 都在等待对方放弃自己需要的同步资源,就形成了线程的死锁出现死锁后,不会出现异常,不会出现提示,只是所有的线程都处于阻塞状态,无法继续我们使用同步时,要避免出现死锁。public class ThreadTest { public static void main(String[] args) { // 创建StringBuffer对象 StringBuffer sb1 = new StringB原创 2020-11-17 08:42:11 · 136 阅读 · 2 评论 -
java多线程实现Runnable接口的线程安全问题
一、案例:模拟火车站售票,开启三个窗口售票出现的问题:卖票过程中,出现了重票、错票 ==>也就是出现了线程的安全问题问题出现的原因:当某个线程操作车票的过程中,尚未操作完成时,其他线程参与进来,也操作车票。解决思路:当一个线程(一个窗口)在操作ticket(火车票)的时候,其他线程不能参与进来。直到这个线程(这个窗口)操作完ticket(火车票)时,其他线程才可以开始操作ticket(火车票)。这种情况即使这个线程(这个窗口)出现了阻塞,也不能被改变。解决办法:在Java中,我们通过同步机制原创 2020-11-16 18:47:30 · 1111 阅读 · 0 评论 -
Java实现斐波那契数列以及int取值溢出问题详解
一、斐波那契数列是什么?这里借鉴百度百科一下下:斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n∈ N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有原创 2020-11-07 20:40:17 · 1560 阅读 · 0 评论 -
java中常见的时间格式化
一、时间戳时间戳是指英国大伦敦格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数二、java时间格式化字母及其含义字母含义GEra 标志符y年M年中的月份w年中的周数W月中的周数D年中的天数d月份中的天数F月份中的星期E星期中的天数aam/pm 标记H一天中的小时数(0-23)k一天中的小时数(1-24Kam/pm原创 2020-11-05 14:54:50 · 11235 阅读 · 0 评论 -
JDBC报错:The server time zone value is unrecognized or represents more than one time zone 已解决
一、详细报错信息Caused by: java.sql.SQLException: The server time zone value is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the 'serverTimezone' configuration property) to use a more specifc time zo原创 2020-11-03 22:32:32 · 1478 阅读 · 7 评论 -
idea中java项目打jar包详解
1、点击 File , 点击 Project Structure2、如下图依次点击3、点击选择主类4、因为项目已经指定了相关jar包,所有把这些选中的删掉5、点击 Build 、点击 Build Artifacts6、一切ok原创 2020-10-27 09:37:34 · 292 阅读 · 0 评论 -
log4j2 概述、配置详情、日志八种输出级别讲解
Log4j:专门为我们的javat程序记录日志使用的;就是jar包+配置文件那么没有使用log4j的时候,如何打印信息呢?System.out.println(“====”);log4j2官网:http://logging.apache.org/log4j/2.x/文件目录介绍:项目中部署:配置文件log4j2.xml<?xml version="1.0" encoding="UTF-8"?><!-- status=debug 可以查看log4j的装配过程 --&g原创 2020-10-20 19:51:16 · 1846 阅读 · 0 评论 -
Error:java: Compilation failed: internal java compiler error报错 java内部编译失败解决办法
Error:java: Compilation failed: internal java compiler error报错,java内部编译失败解决点击 File-ProJect Structure点击 File-Settingsmaven项目中,也可在pom文件中指定jdk相关信息:<plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</原创 2020-10-20 15:47:48 · 272 阅读 · 0 评论 -
Maven使用以及在eclipse中创建maven项目
why学习maven?没有Maven之前使用jar包,先找一个jar包,创建一个lib文件夹,把jar放入lib中,右击项目buildpath;也就是手动管理jar文件,很容易报错类加载不到;当多人合作开发一个项目,不能每个人的版本不一致,jar,文档不能随意放;maven有一个pom.xml,项目对象模型,项目管理与依赖Maven使用直接下载Maven,解压后就可以使用,不需要配置环境变量官网下载地址 下载二进制压缩包就好解压后的目录:修改conf/settings.xml文件为原创 2020-10-10 15:54:44 · 1070 阅读 · 0 评论