
java
qq_16739693
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
IDEA之mybatis-generator自动生成
在使用idea开发springboot+mybatis项目时,时常会为创建entity、dao和mappper.xml文件而耗费大量时间,且十分枯燥。通过在网络上查找一些自动生成代码的文献资料,现整理下个人的经验,供大家参考。1.pom.xml文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20原创 2020-09-08 16:41:53 · 1180 阅读 · 0 评论 -
Java GC调优
当Java程序性能达不到既定目标,且其他优化手段都已经穷尽时,通常需要调整垃圾回收器来进一步提高性能,称为GC优化。但GC算法复杂,影响GC性能的参数众多,且参数调整又依赖于应用各自的特点,这些因素很大程度上增加了GC优化的难度。即便如此,GC调优也不是无章可循,仍然有一些通用的思考方法。总结了GC优化的两个目的:1. 将进入老年代的对象数量降到最低2. 减少Full GC的执行时间将进入...转载 2019-09-19 22:08:18 · 156 阅读 · 0 评论 -
线程通信的几种方式
文章目录wait/notifyVolatilejoinCountDownLatch 闭锁CyclicBarrier 栅栏线程响应中断wait/notifypublic class Main{ public static Object object = new Object(); public static void main(String[] args) { ...原创 2019-09-21 16:04:25 · 411 阅读 · 0 评论 -
HashMap和HashTable的区别
HashMap线程不安全,HashTable是线程安全的。HashMap内部实现没有任何线程同步相关的代码,所以相对而言性能要好一点。如果在多线程中使用HashMap需要自己管理线程同步。HashTable大部分对外接口都使用synchronized包裹,所以是线程安全的,但是性能会相对差一些。二者的基类不一样。HashMap派生于AbstractMap,HashTable派生于Dict...原创 2019-09-21 22:24:20 · 138 阅读 · 0 评论 -
HashMap的实现原理
什么是HashMapHashMap是java中实现了Map接口的键值对集合类,它是非线程安全的,键和值都允许为null,元素是无序的,是单线程程序中最常用的键值对集合类。实现原理在JDK1.6,JDK1.7中,HashMap采用数组+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低...原创 2019-09-21 23:21:57 · 172 阅读 · 0 评论 -
Java中的TreeMap
重点它存储类似于HashMap的键值对。它只允许不同的键。无法复制密钥。它不能有null键,但可以有多个null值。它按排序顺序(自然顺序)或按Comparator地图创建时提供的key存储key。它提供了有保证的 log(n) 的时间成本,为containsKey,get,put和remove操作。它不同步。用于Collections.synchronizedSortedMap(n...原创 2019-09-24 14:22:59 · 195 阅读 · 0 评论 -
MySQL主从复制原理
概要MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据的更新可以在远程连接上进行,从节点可以复制主数据库中的所有数据库或者特定的数据库,或者特定的表。MySQL 主从复制主要用途1.读写分离在开发工作中,有时候会遇见某个sql 语句需要锁表,导致暂时不能使用读的服务...转载 2019-09-24 19:50:41 · 125 阅读 · 0 评论 -
Minor GC、Major GC和Full GC之间的区别?
Minor GCMinor GC指新生代GC,即发生在新生代(包括Eden区和Survivor区)的垃圾回收操作,当新生代无法为新生对象分配内存空间的时候,会触发Minor GC。因为新生代中大多数对象的生命周期都很短,所以发生Minor GC的频率很高,虽然它会触发stop-the-world,但是它的回收速度很快。Major GCMajor GC清理Tenured区,用于回收老年代,出现...转载 2019-09-24 22:22:54 · 158 阅读 · 0 评论 -
TCP协议-如何保证传输可靠性
TCP协议传输的特点主要就是面向字节流、传输可靠、面向连接。这篇博客,我们就重点讨论一下TCP协议如何确保传输的可靠性的。确保传输可靠性的方式TCP协议保证数据传输可靠性的方式主要有:校验和序列号确认应答超时重传连接管理流量控制拥塞控制原文地址:https://blog.youkuaiyun.com/liuchenxia8/article/details/80428157...转载 2019-09-27 09:24:36 · 187 阅读 · 0 评论 -
深入浅出java常量池
原文地址:https://www.cnblogs.com/syp172654682/p/8082625.html转载 2019-09-27 11:05:22 · 121 阅读 · 0 评论 -
redis的三种集群方式
redis有三种集群方式:主从复制,哨兵模式和集群。1.主从复制主从复制原理:从服务器连接主服务器,发送SYNC命令; 主服务器接收到SYNC命名后,开始执行BGSAVE命令生成RDB文件并使用缓冲区记录此后执行的所有写命令; 主服务器BGSAVE执行完后,向所有从服务器发送快照文件,并在发送期间继续记录被执行的写命令; 从服务器收到快照文件后丢弃所有旧数据,载入收到的快照...转载 2019-09-19 15:33:10 · 88 阅读 · 0 评论 -
消息队列
1、什么是消息队列“消息队列”(Message Queue)是在消息的传输过程中保存消息的容器。消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ2、消息队列的作用为什么要用消息队列1.通过异步处...原创 2019-09-19 14:59:44 · 134 阅读 · 0 评论 -
什么是RESTFUL API
什么是RESTFUL APIREST,即Representational State Transfer的缩写。直接翻译的意思是"表现层状态转化"。它是一种互联网应用程序的API设计理念、设计风格,而不是标准。官方解释:URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。具体说就是:将服务器上每一种资源,比如文档、图像、视频片段、程序 都由一个通用资源标识...原创 2019-09-18 20:21:50 · 122 阅读 · 0 评论 -
SpringBoot配置热启动
前言:每次修改代码时,我们都需要重启服务,比较麻烦。热启动可以允许我们在修改代码保存之后,自动重启服务,无需再去手动重启。1、添加spring-boot-devtools的包,true必须加上<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spri...转载 2019-04-01 22:24:42 · 2707 阅读 · 0 评论 -
IDEA SpringBoot + thymeleaf配置
1、pom添加以下依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>2.更新maven...转载 2019-04-02 09:05:28 · 814 阅读 · 0 评论 -
Spring boot 项目目录结构
转至:博主zmxt1314的博客https://blog.youkuaiyun.com/u012675150/article/details/79351990Spring Boot框架对工程结构并没有什么特殊的限制,只是良好的工程结构划分可以使项目更清晰,明确,减少不必要的冲突,提高代码的统一性.推荐工程结构示例:代码层的结构根目录:com.springboot1.工程启动类(Applic...转载 2019-04-02 21:55:00 · 1135 阅读 · 0 评论 -
java动态绑定
直接看例子package Polymorphic;/** * * @author QuinnNorris * 域不具有多态性 */public class polymorphics { /** * @param args */ public static void main(String[] args) { // TODO...转载 2019-04-09 16:48:18 · 977 阅读 · 0 评论 -
Java并发编程实战-基础知识-线程安全性
要编写线程安全的代码,其核心在于要对状态访问操作进行管理,特别是对共享和可变的状态的访问。“共享”意味着变量可以有多个线程同事访问,而“可变”则意味着变量的值在其生命周期内可以发送变化。Java中的主要同步机制是关键字synchronized,它提供了一种独占的加锁方式,但“同步”这个术语还包括volatile类型的变量,显示锁(Explicit Lock)以及原子变量。什么是线程安全...原创 2019-07-19 13:11:30 · 109 阅读 · 0 评论 -
Java单例模式
1、单例模式概述单例模式是一种常用的软件设计模式,也是著名的GoF23种设计模式之一,是指是单例对象的类只能允许一个实例存在。单例模式在多线程情况下保证实例唯一性的解决方案。2、单例模式实现方式1.饿汉式public class Singleton { private static Singleton singleton = new Singleton(); private Sin...原创 2019-09-17 15:03:34 · 136 阅读 · 0 评论 -
Java主流锁
一、乐观锁和悲观锁1)乐观锁(默认不会出现资源竞争)乐观锁认为自己在使用数据时不会有别的线程修改数据,所以不会添加锁,只是在更新数据的时候去判断之前有没有别的线程更新了这个数据。如果这个数据没有被更新,当前线程将自己修改的数据成功写入。如果数据已经被其他线程更新,则根据不同的实现方式执行不同的操作(例如报错或者自动重试)。Java通过CAS自旋实现2)悲观锁(默认一定会出现资源竞争)对...转载 2019-09-17 20:59:59 · 127 阅读 · 0 评论 -
MySQL中锁详解
MySQL锁相对于其他的数据库而言,MySQL的锁机制比较简单,最显著的特点就是不同的存储引擎支持不同的锁机制。根据不同的存储引擎,MySQL中锁的特性可以大致归纳如下:行锁表锁页锁MyISAM√BDB√√InnoDB√√开销、加锁速度、死锁、粒度、并发性能表锁:开销小,加锁快;不会出现死锁;锁定力度大,发生锁冲突概率高,并发度最...转载 2019-09-18 16:32:48 · 129 阅读 · 0 评论 -
java中阻止类的继承
1.使用final来修饰类 final表示这个类是继承树的末端,不能被继承。2.将类的构造方法声明为private的,再提供一个static的方法来返回一个类的对象。 JAVA语言要求继承时必须在构造器里的第一行来调用(call)超类(super class)的构造器。这个是启动继承特征所必须的。 在JAVA中,我们通过调用super()这个方法来完成这个任务,它将会映射到一个超...转载 2019-09-18 19:13:53 · 649 阅读 · 0 评论 -
spring boot中不能识别RestController的原因
才开始学习spring boot,第一个程序helloworld就碰到@RestController和@RequestMapping(/hello)的注解都会报错的问题。 我个人的解决方法:1.springboot默认有<dependencies> <dependency> <groupId>org.springframework.boo...原创 2018-05-10 18:40:23 · 29735 阅读 · 8 评论