自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 如何解决idea编辑过的代码和eclipse代码冲突的问题

最近,因为要在git上合并 代码,之前的代码用 eclipse写的 ,现在使用idea 写代码,导致 大范围代码冲突.主要有几个地方, 在此记录, 方便自己和大家 再碰到这个问题的时候查看.注释问题.具体设置位置在 setting–>editor–>code style -->java -->code generation 里面.2.自动空格问题具体位置在 setting–>editor–>general–>向下拉选到最后–>选择none3

2020-10-12 14:09:54 1459

原创 解决SSM项目启动之后中文乱码问题

如果你项目启动之后有中文乱码问题,而百度之后现在所有的解决方法都不能解决的话,可能这篇文章能帮助你.因为可能只是你的思路出现了问题,或者说是对乱码出现的原因进行了误判在公司gitlab上拉取的已经上线的SSM项目,在本地启动的时候,发现页面存在中文乱码.第一步怀疑自己tomcat设置问题,通过设置tomcat web.xml catalina.bat 等配置文件之后,依然无法解决问题.第二步 换衣是jsp静态包含html的问题,继续百度,一堆解决办法之后仍然无法解决.第三步,换一个思路思考.

2020-09-27 10:07:53 1437

原创 秒杀系统的搭建

秒杀系统的搭建思路在如今这个流量就是金钱的时代,秒杀活动无疑还是一个非常吸引流量的活动,各大电商平台都会推出类似双11这样的大促活动,那么如何保证这种高并发情况下的秒杀系统的正常运行,就变成了程序员需要重点考虑的一个问题了。一、构建思路:其实,针对秒杀活动的高并发,其实可以分为 大量的并发读请求和大量的并发写请求。我们也就是要针对这两类请求来进行针对性处理。但是,这两类请求也有一些共同的处理思路,那就是4要1不要。1.数据量要尽可能的小不管是读请求还是写请求,其实都是针对数据来进行操作的。而数据

2020-09-06 18:39:13 505

原创 实战中,数据库应如何分库分表

数据库如何分库分表首先说数据库的分库和分表是两个完全不同的概念。不能混为一谈。但是他们的作用基本上都是为了抗住更大的并发量。因为在实际生产中,数据库的访问瓶颈是最大概率限制服务器并发性能的。随着业务的开展,数据库中的数据会大量产生,当表中的数据量达到千万级别的时候,就需要进行分表了,否则一条sql语句查询可能就会耗时很久。而如果部分库的话,数据库的访问数量就是一个限制最大的点,大量请求过来访问数据库,结果数据库连接达到瓶颈了,那么就会产生大量的阻塞。切分策略:1.垂直拆分2.水平拆分垂直拆分

2020-09-05 12:55:29 3420

原创 Spring 技术内幕之 IOC容器 (初版)

首先BeanDefinitionReader 会读取、解析配置文件,BeanDefinition实现类,其中包含了Class名称,id名称,别名信息,properties属性,是否懒加载,是否是原型模式,init-method信息,destory-method信息 等这些信息. 其中别名信息的话,是储存在一个map中的,其中key是beanName,value是BeanDefinition对象,别名的话就是会再将别名当做key,然后value是beanName,这样用别名的话就等于加一个重定向就可以定位到b

2020-08-17 00:07:53 105

原创 简述MySQL中的MVCC

MySQL是我们在开发中都要用到的关系型数据库.MySQL事务遵循ACID四要素原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability).随着互联网的发展,MySQL也会发生高并发的并发访问,这就存在多线程访问之间的数据不一致问题.针对这个问题,MySQL采取 锁和MVCC(多版本并发控制)的方式来确保数据一致性问题.MySQL有四种隔离级别分别为:隔离级别脏读幻读不可重复读读已提交是是是

2020-08-11 00:28:53 211

原创 IO多路复用学习随笔

Java层面的IO 分为BIO,NIO和AIO.BIO: 中的B就是blocking,阻塞的意思.顾名思义就是 同步并阻塞的IO操作.他的缺点就是: 一般我们开发的就是作为服务端,如果作为服务端的话,我们使用ServerSocket绑定完端口号之后,我们就会监听这个端口,然后等待accept事件,当我们接收到accept之后,就会阻塞当前主线程,程序会那倒也一个客户端与当前服务端连接的socket,针对这个socket,我们进行读写操作,但是socket的读写操作是会阻塞当前线程的.这也就是BIO最大

2020-08-03 23:41:23 146

原创 大厂面试都爱问的---对象实例化、内存布局

大厂面试都爱问的—对象实例化、内存布局在我们编写Java代码时,最常做的就是创建对象.那么你是否有知道创建对象的一个具体实现呢?今天我们就来说一说 创建对象的一个具体实现.一 对象实例化1 创建对象的几种方式:①new —>也是最常用的一种方式,直接通过 需要创建对象的类的构造器来进行创建.他引申出了两种变形方式 :1️⃣一个类没有对外声明构造器,但是我们可以通过类对外声明的静态方法来获取一个这个类的实例.2️⃣ 通过xxxFactory 工厂类来获取对应的类的实例.②

2020-08-02 16:27:24 207 1

原创 ReentrantLock源码分析之手写mini版本的ReentrantLock

ReentrantLock作为Lock的实现类,在JUC中扮演者十分重要的角色.学习Java的最好方式就是深入源码.通过对ReentrantLock的学习,现在试着手写一遍ReentrantLock. PS:这里仅尝试实现简单的mini版本.重要的是体会 其中的思想…因为Lock接口中很多方法要实现, 我就自己手写一个极简版本的Lock,用来实现一些简单的方法.public interface Lock { void lock(); void unlock();}这里仅仅只有 l

2020-08-02 15:58:41 138

原创 深入理解JUC之ConcurrentHashMap(JDK1.8)

HashMap 应该是大家使用最多的Map下的具体实现类, 但他有一个缺点就是 线程不安全的,如果我们需要在多线程的情况下使用HashMap就需要自己加锁,效率不好.而如果使用HashTable ,因为HashTable是 表锁,性能极低.Java为了解决这种情况,在JUC中为我们提供了ConcurrentHashMap. 在JDK1.8以前,ConcurrentHashMap 底层数据结构与对应的HashMap结构一样,使用的是 数组+链表.而ConcurrentHashMap使用的是分段锁.每一段ta

2020-07-26 23:18:50 257

原创 HashMap源码深度剖析,看完保证你能完全明白HashMap

我将JDK 1.8的HashMap 整个类的代码进行了 解析. 并加入了自己的理解和一些关键点的分析.着重 解释了 各个常量 、变量以及 put() 、resize() 、get() 、 remove() 方法 .我将整个源码贴出来了,里面有详细的注解解释.大家可以copy回去看一下.希望大家来指正不足~~package java.util;import sun.misc.SharedSecrets;import java.io.IOException;import java.io.Inv

2020-07-23 12:05:23 229

原创 一个简单但不简约的String面试题.

我相信每个Java程序员对String都熟悉的不能再熟悉了,可以说只要敲代码,就绕不过String.但是 越是我们熟悉的人,我们就越容易忽略掉他的一些细节.下面是一个简单但不简约的String的面试题.小伙伴们,自习思考一下,看看答案跟你们想的是不是很不一样呐~~public class TestString1 { public static void main(String[] args) { String s1 = new String("1") + new String

2020-06-22 23:52:49 144

原创 内存泄漏和内存溢出的区别及各自的解决办法

最近在复习JVM相关知识的时候,多次提到了内存泄漏(OOM),心里突然想到了内存溢出.索性在这里整理一下内存泄漏和内存溢出的区别及相应的解决办法~**内存泄漏 memory leak** 是指程序在申请内存后,无法释放已申请的内存空间就造成了内存泄漏,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。举个例子就是:我租了一个房子,只有一把钥匙,我有事离开不住了,但是我拿的钥匙被没有给别人,造成的别人也进不去这个房子,这个房子就相当于内存泄漏了. 如果每个人都跟我一样,最后的结果就

2020-06-20 08:07:45 305

原创 Java堆空间详解之新生代和老年代

Java运行时内存区主要分为 运行时栈(虚拟机栈)、本地方法栈、程序计数器、堆空间、方法区(JDK1.8之后是元空间),今天来聊一聊我们的堆空间.一个对象或者数组的创建是在堆空间中完成的,堆的大小是有限的(固定的),所以,必不可少的我们要考虑一下堆的空间分配问题和对象的分配问题.空间分配问题:堆空间默认的初始化内存最小值为 系统内存/64,最大值为系统内存/4;我们可以通过命令 -Xms666m -Xmx666m,来将堆空间的初始化大小最小值和最大值都设置为666m;public clas

2020-06-17 23:02:07 606

原创 Redis中的RDB和 AOF的区别

Redis中持久化技术分为两种,一种是RDB,一种是AOF.这两者有什么区别呢?定义的区别:RDB:RDB是每隔一段时间自动将内存中的数据集快照写入磁盘中,也就是我们所说的Snapshot快照,他恢复(读取)数据是将快照文件直接读取到内存中.AOF:AOF是用日志的形式将每一个写操作都记录在日志文件中,只允许进行增量操作,不允许进行修改操作.他恢复(读取)数据来执行过的操作重新执行一遍.实现的区别RDB: Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时

2020-06-06 23:17:27 4443

原创 解决:org.hibernate.LazyInitializationException: could not initialize proxy - no Session

org.hibernate.LazyInitializationException: could not initialize proxy [com.*****.springbootauto.bean.TAdmin#1] - no Sessionat org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:170)at org.hibernate.proxy.AbstractLazyIni.

2020-06-01 23:25:55 760

原创 解决:Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone valu

今天SpringBoot整合Durid时报错,错误信息如下:Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value ‘�й���׼ʱ��’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via t

2020-06-01 22:01:43 316

原创 Linux常用基本命令

开发环境:VMware15.5pro ,CentOs 7 64位,XShell6Linux系统的重要性大家都知道,下面我来汇总一下Linux常用的基本命令,有什么不足或者错误的地方希望大家多多指正.一、基本常用类1. 帮助手册man(manual手册)man ls或者–help例如:ls --help2. 日期类datedate +%Y-%m-%ddate +%Y-%m-%d’ ‘%H:%M:%Sdate +%F’ '%Tcalcal -y (展示一年的日历).

2020-05-25 20:39:25 5184 3

原创 Spring 经典面试题汇总

原链接: juejin.im/post/5cbda379f265da03ae74c2821、基础概念1.1. 不同版本的 Spring Framework 有哪些主要功能?VersionFeatureSpring 2.5发布于 2007 年。这是第一个支持注解的版本。Spring 3.0发布于 2009 年。它完全利用了 Java5 中的改进,并为 JEE6 提供了支持。Spring 4.0发布于 2013 年。这是第一个完全支持 JAVA8 的版本。1.

2020-05-20 11:23:00 449

原创 保姆式教学.带你一步步IDEA整合Maven

Maven是什么?Maven(妹文)就是生产力鸭,兄弟们.Maven实现了自动构建,是项目开发中必不可少的工具.那么,今天我就带着大家一步步的安装一下Maven.

2020-05-15 23:10:37 418

原创 基于XML的SSM框架整合

根据学习,现在整理一下基于XML的SSM框架整合.~~1 首先是要创建一些素材1.1 创建一个JavaWeb模块~~1.2 创建一个我们使用的数据库(MySQL)drop database if exists ssm;create database ssm;use ssm; ##创建图书表create table t_book( `id` int(11) primary key auto_increment, ## 主键 `name` varchar(50) not null

2020-05-14 13:35:45 317

转载 Java 8系列之重新认识HashMap

摘要HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java DevelopmetKit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMap的结构实现和功能原理。简介Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和Tree

2020-05-14 13:03:38 212

原创 JavaWeb必备知识----Json和Ajax

**JavaWeb必备知识----Json和Ajax**先来了解一下,什么是Json~**具体概念咱就不说了百度上一搜便是,直接上干货:1.1Json在JavaScript中的使用:**1.1.1 Json 的声明:json数组由大括号包围,里面都是键值对,键使用引号引起来.键和值之间使用冒号进行分隔.每组键值对之间 使用逗号来进行分隔. 这样格式的数据我们就叫json.var jsonObj = { "key1":12, "key2":"abc", "key3":t

2020-05-13 20:27:55 574

原创 聊一聊我所理解的String,StringBuffer和StringBuilder

String,StringBuffer和StringBuilder之间的区别,应用及底层实现已经是老生常谈了.从开始接触java到现在,只要是要复习或者是准备面试,这个题就是必须要经历的.可以说是众里寻他千百度,蓦然回首,他依旧在那等着你啊.这里,我就聊一下我对这3个近亲之间的关系~**1. String**首先,String这个老大哥底层是维持的是 final 修饰过的 private 权限的 char型数组.这个final就很厉害呀,他修饰过之后,这个char型数组就成为了一个不可变.

2020-05-12 13:04:38 197

eclipse豆沙绿配色配置文件.epf

eclipse背景及相关java的配色修改,护眼养眼。 用了这个之后,编写代码腰不酸了,腿不痛了,爬楼也不费劲了,熬夜写代码一写写到大天亮。

2020-02-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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