![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java技术要点
文章平均质量分 55
嘿嘿嘿1212
知识在于累计
展开
-
JVM优化与监控 JVM运行参数&jmap分析工具&jatack的使用&VisualVm工具使用
1、我们为什么要对jvm做优化?在本地开发环境中我们很少会遇到需要对jvm进行优化的需求,但是到了生产环境,我们可能将有下面的需求:运行的应用“卡住了”,日志不输出,程序没有反应服务器的CPU负载突然升高在多线程应用下,如何分配线程的数量?说明:使用的jdk版本为1.8。2、jvm的运行参数在jvm中有很多的参数可以进行设置,这样可以让jvm在各种环境中都能够高效的运行。绝大部分的参数保持默认即可。2.1、三种参数类型jvm的参数类型分为三类,分别是:标准参数-help-ver原创 2020-08-08 17:43:54 · 1115 阅读 · 0 评论 -
线程按序交替
某公司面试题?线程的控制是使用线程必须掌握的.问题:需要A,B,C使用三个不同的线程执行,但是他们的顺序不能乱,如ABC并依次循环执行多次,可以控制A,B或C的执行次数.实现代码如下:import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.......原创 2020-02-02 22:00:45 · 209 阅读 · 0 评论 -
使用Lock锁实现等待唤醒机制
在使用Lock进行解决线程同步问题时,会存在使用Object的wait()和sleep()方法异常的问题.而jdk也提供了Condition对应于Objcet的wait(),notify()和notifyAll()方法提供了await(),siganl()和signalAll()方法.Condition实例实质上是需要绑定到一个锁上.所以需要为Lock实例获得Condition实例,需要使用......原创 2020-02-01 21:09:13 · 1270 阅读 · 1 评论 -
虚假唤醒问题
虚假唤醒问题是一种在多线程环境下出现的问题,本文将一步步进行解释和解决.生成者与消费者案例下面是使用synchronized关键字进行加锁,实现线程不安全问题的生产者与消费者案例./** * @author 嘿嘿嘿1212 * @version 1.0 * @date 2020/1/31 19:48 *///主方法public class TestProductorAndCon...原创 2020-01-31 22:16:23 · 1863 阅读 · 4 评论 -
JUC基础(volatile关键字&内存可见性&变量的原子性&CAS算法&原子变量&ConcurrentHashMap)
一. JUC介绍在java 5 中提供了java.util.concurrent包(普遍简称JUC),改包中包含在并发编程中常用的实用工具类,用于定义类似于线程的自定义子系统,包含线程池,异步IO(NIO)和轻量级任务框架.并还提供了设计用于多线程上下文的Collection实现等.二. 内存可见性在实际使用线程时,会存在当某个线程正在使用对象的成员变量而另一个线程在同时改变该状态,而此时被......原创 2020-01-30 20:45:08 · 369 阅读 · 0 评论 -
Freemarker 模板引擎
Freemarker 模板引擎1. FreeMarker介绍freemarker是一个用Java开发的模板引擎常用的java模板引擎还有哪些?Jsp、Freemarker、Thymeleaf 、Velocity 等。模板+数据模型=输出freemarker并不关心数据的来源,只是根据模板的内容,将数据模型在模板中显示并输出文件(通常为html,也可以生成其它格式的文本文件)...原创 2019-11-19 09:28:29 · 596 阅读 · 0 评论 -
ElasticSearch学习笔记:原生编程操作&高亮显示&Spring DataElasticSearch 入门和基础操作
ElasticSearch第二天学习目标:能够使用java客户端完成创建、删除索引的操作能够使用java客户端完成文档的增删改的操作能够使用java客户端完成文档的查询操作能够完成文档的分页操作能够完成文档的高亮查询操作能够搭建Spring Data ElasticSearch的环境能够完成Spring Data ElasticSearch的基本增删改查操作能够掌握基本条件查询...原创 2019-11-11 14:20:27 · 469 阅读 · 0 评论 -
ElasticSearch学习笔记:简介&Solr对比&安装&核心概念&IK分词器&ElasticSearch集群
ElasticSearch第一天学习目标:能够理解ElasticSearch的作用能够安装ElasticSearch服务能够理解ElasticSearch的相关概念能够使用Postman发送Restful请求操作ElasticSearch能够理解分词器的作用能够使用ElasticSearch集成IK分词器能够完成es集群搭建第一章 ElasticSearch简介1.1 什么...原创 2019-11-09 11:52:42 · 287 阅读 · 0 评论 -
Redis:缓存穿透&缓存击穿(缓存失效)&雪崩概念
缓存穿透由于查询的内容在数据库中查询无此数据(为null),而Redis没有存储该key,导致该查询一直查询数据库,而无法命中Redis,导致数据库负载过高,造成崩溃.解决:将查询为null的key值进行存储.缓存击穿在key失效的短时间内,被大量请求访问,造成直接访问数据库导致崩溃(高并发)解决:设置二级缓存并且将失效时间错开雪崩同一时间大量的key失效,造成同时直接访问数据库,......原创 2019-11-02 19:49:27 · 106 阅读 · 0 评论 -
事务失效
类型@Transactional 加于private方法, 无效@Transactional 加于未加入接口的public方法, 再通过普通接口方法调用, 无效@Transactional 加于接口方法, 无论下面调用的是private或public方法, 都有效@Transactional 加于接口方法后, 被本类普通接口方法直接调用, 无效@Transactional 加于接口方...原创 2019-11-02 19:34:24 · 594 阅读 · 0 评论 -
Excel处理:Apache POI
1. Apache POI1.1 POI介绍Apache POI是用Java编写的免费开源的跨平台的Java API,Apache POI提供API给Java程序对MicrosoftOffice格式档案读和写的功能,其中使用最多的就是使用POI操作Excel文件。jxl:专门操作Excelmaven坐标:<dependency> <groupId>org.ap...原创 2019-10-27 16:36:35 · 274 阅读 · 0 评论 -
权限控制之Spirng Security框架
1. Spring Security简介Spring Security是 Spring提供的安全认证服务的框架。 使用Spring Security可以帮助我们来简化认证和授权的过程。官网:https://spring.io/projects/spring-security,Spring Security是基于Filter(过滤器实现)对应的maven坐标:<dependency&g...原创 2019-10-27 16:27:25 · 329 阅读 · 0 评论 -
定时任务组件Quartz
1. 定时任务组件Quartz1.1 Quartz介绍Quartz是Job scheduling(作业调度)领域的一个开源项目,Quartz既可以单独使用也可以跟spring框架整合使用,在实际开发中一般会使用后者。使用Quartz可以开发一个或者多个定时任务,每个定时任务可以单独指定执行的时间,例如每隔1小时执行一次、每个月第一天上午10点执行一次、每个月最后一天下午5点执行一次等。官网:...原创 2019-10-26 19:29:13 · 597 阅读 · 0 评论 -
spring task的详细使用
定时任务是解决很多问题的常用手段,spring的spring task 可以看做一个轻量级的quartz框架。只需要通过少量的配置,就能启动定时任务。1.引入相关jar包<dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</art...转载 2019-10-21 14:19:39 · 935 阅读 · 0 评论