- 博客(81)
- 资源 (2)
- 收藏
- 关注
原创 整理最全Java面试题一(附答案,欢迎指正)
说明:面试题为网络上整理,答案为自己简写,能力有限,面试参考。基础篇一一.基础知识:1)集合类:List和Set比较,各自的子类比较(ArrayList,,LinkedList;HashSet,TreeSet); 1.1 List接口继承自Collection接口,是有序的,集合中的元素可以重复,常用两个实现子类为ArrayList和LinkedList, - 【Arrayli...
2018-08-31 09:43:14 605
原创 整理最全java面试题二(附答案,欢迎指正)
基础篇一一.基础知识:1)集合类:List和Set比较,各自的子类比较(ArrayList,Vector,LinkedList;HashSet,TreeSet);2)HashMap的底层实现,之后会问ConcurrentHashMap的底层实现;3)如何实现HashMap顺序存储:可以参考LinkedHashMap的底层实现;4)HashTable和ConcurrentHash...
2018-01-28 13:41:26 3202 1
原创 Redis最全介绍
Redis简介简单介绍Redis:开源、免费、非关系型数据库、K-V数据库、内存数据库,支持持久化、事务和备份,集群(支持16个库)等高可用功能。并且性能极高(可以达到100000+的QPS),易扩展,丰富的数据类型,所有操作都是单线程,原子性的。NOSQL:非关系型数据库,数据与数据之间没有关联关系。就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题类型键值(key-value)存储数据库列存储数据库:键仍然存在,但是指向了多个列,HBase (eg:博客平台(标签和文章
2021-10-25 21:53:23 1063
原创 Spring Boot AOP 获取用户,日志入库
文章目录依赖文件配置文件数据库文件实体文件:自定义注解自定义切面:保存日志实体方法测试:在Spring框架中,使用AOP配合自定义注解可以方便的实现用户操作的监控。首先搭建一个基本的Spring Boot Web环境开启Spring Boot,然后引入必要依赖:依赖文件<!-- aop依赖 --> <dependency> <groupId>org.springframework.boot</groupId>
2020-11-06 15:13:49 2135 1
原创 mysql搜索大小写区分
mysql搜索大小写区分需求说明问题查找问题解决需求说明最近功能上线,模糊搜索后,客户反馈不能进行大小写的模糊搜索,例如:输入abcd,只能返回包含adcd的内容,不能搜到ABCD的内容,需要修改。问题查找根据网络上一系列的搜索,mysql默认是不区分大小写的,而java是区分大小写的,那么为何我的默认区分大小写了呢。打开navicat,搜索输入:select * from t_user where user_name like "lihao%"返回结果只有lihao,没有LIhao等内容。这
2020-06-02 15:07:29 702
原创 最全的java时间工具类
java时间工具类整理的最全的java时间工具类。获取当前时间时间戳(long);获取当前日期,包含时分秒(yyyy-MM-dd HH:mm:ss);获取当前日期,不包含时分秒(yyyy-MM-dd);得到两个时间差 格式yyyy-MM-dd HH:mm:ss;转化long值的日期时间戳为yyyy-MM-dd HH:mm:ss.SSS格式的日期;获取当前日期是一个星期的第几天;...
2019-08-27 15:20:06 24149 2
原创 简单实现以下Spring的IOC
这里写自定义目录标题SpringIOC的简单实现1. spring IOC简介2. IOC的简单实现SpringIOC的简单实现1. spring IOC简介ioc: 全文是Inversion of Control。翻译过来就是控制反转,意思是对象之间的关系不再由传统的程序来控制,而是由spring容器来统一控制这些对象创建、协调、销毁,而对象只需要完成业务逻辑即可。2. IOC的简单实现...
2019-08-21 18:27:32 208
原创 Redis集群
文章目录前言Redis安装数据分片搭建集群安装ruby环境:测试集群参考博文前言Redis 是我们目前大规模使用的缓存中间件,由于它强大高效而又便捷的功能,得到了广泛的使用。单节点的Redis已经就达到了很高的性能,为了提高可用性我们可以使用Redis集群。本文参考了Rdis的官方文档和使用Redis官方提供的Redis Cluster工具搭建Rdis集群。注意 :Redis的版本要在3...
2019-05-28 14:31:53 310 1
原创 redis系列(二)-redis持久化
文章目录2.redis配置文件2.1RDB的持久化配置2.1.1优点2.1.2缺点2.2AOF的持久化配置2.2.1 优点2.2.2缺点2.3 RDB与AOF的选择:3.备份##1.Redis为持久化提供了两种方式:RDB:在指定的时间间隔能对你的数据进行快照存储。AOF:记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据。2.redis配置文件进入r...
2019-05-23 15:12:52 361 2
原创 Redis系列(一)-redis简介
文章目录一、Redis简介二、Redis安装三、redis数据结构一、Redis简介Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。redis是一个key-value存储系统。与Memcached类似,它支持存储的value类型相对更多,包括5种数据类型。redis和memcached一样,为了...
2019-05-23 15:08:10 466
原创 ThreadLocal学习笔记
文章目录ThreadLocal学习笔记ThreadLocal的实现原理自定义ThreadLocal实现源码解读ThreadLoalMaphash冲突内存泄露ThreadLocal学习笔记最近看一些面经,好像很多时候都有提到ThrealLocal的实现原理,之前在学习多线程的时候似乎没有太注意ThreadLocal这个本地线程,现在看看源码,学习一下。ThreadLocal的实现原理Th...
2019-05-22 22:44:02 289 1
原创 SpringBoot集成rabbitmq:java.net.ConnectException
SpringBoot集成rabbitmq错误:org.springframework.amqp.AmqpConnectException: java.net.ConnectException的解决办法秒杀项目集成了rabbitmq,启动项目时,报错,错误信息如下:org.springframework.amqp.AmqpConnectException: java.net.ConnectExc...
2019-05-15 22:35:51 1657
原创 深入Java虚拟机之 -- 类加载机制
深入Java虚拟机之 – 类加载机制文章目录深入Java虚拟机之 -- 类加载机制一、类加载机制二、类加载的时机2.1 加载2.2 验证2.3 准备2.4 解析2.5 初始化三、类加载器四、双亲委派模型一、类加载机制虚拟机把描述类的数据从Class文件 (二进制流) 加载到内存,并对数据结构进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是Java的类加载机制...
2019-05-08 11:10:20 301
原创 JAVA 垃圾回收机制(一) --- 对象回收与算法初识
##JAVA 垃圾回收机制(一) — 对象回收与算法初识文章目录一、概念二、哪些对象需要回收三、什么时候回收四、如何回收一、概念这里说的GC回收,指的是 Java 堆的地方, 深入Java虚拟机之 — JVM的爱恨情仇 文章 中,我们知道了程序计算器,虚拟机栈和本地方法栈都是随线程开启,随线程关闭的,因此这几块区域的内存分配和回收都具备确定性。而Java 堆和方法区则不一样,一个接口中的...
2019-05-07 17:08:03 270
原创 给自己一个小目标
一个小目标总想写点什么,却又不知道写点什么,闲来得空,必须正视自己,写写自己了。一晃转行程序员已经快4年了,各种滋味,难以言说,但是最明显的感受是从18年下半年来,失去了曾经的激情与热爱。同一个行业,同一份工作浸淫了几年后,不敢妄言业务手到擒来,也算是驾轻就熟。但就是这种熟悉,让人感到焦虑,让我深感自己的局限与不足,虽然时常在github和博客上膜拜各路大佬并暗下决心要学习他人,但实际上却是渐...
2019-04-26 15:11:47 674
原创 (error) DENIED Redis is running in protected mode because protected mode is enabled
redis踩坑:(error) DENIED Redis is running in protected mode because protected mode is enabled场景:阿里云上部署了redis,也配置了redis.conf注释掉绑定ip# bind 127.0.0.1Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程,设置为noda...
2019-04-11 22:16:49 18497 1
原创 springboot redis类型转换异常
java.lang.ClassCastException: com.crazyang.entity.Goods cannot be cast to com.crazyang.entity.Goods###该错误的引起是由于开发中引入了DevTools进行热部署。当对象被序列化到缓存里时,当前应用的类加载器是C1,当你改变了一些代码或者配置文件的时候,DevTools 工具将会自动重新启动这个容...
2019-03-18 16:36:07 1537
原创 Nginx学习(二)----Nginx配置文件详解
Nginx配置文件详解安装完成后,输入cd /usr/local/nginx/conf/,进入conf文件夹,通过vim nginx.conf命令,查看nginx配置文件,如下所示:#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#err...
2018-08-17 11:06:24 638
原创 Nginx学习(一)-----Nginx安装
1.Nginx概述Nginx是一个免费的、开源的、高性能的Web服务器和反向代理服务器,以其高性能、稳定性、丰富的功能、配置简单、资源消耗少著称。Nginx有别于传统Web服务器依赖于线程来处理请求,而是基于事件驱动模型,使用更少资源提供更多服务,解决了C10K问题。2.Nginx 相对于 Apache 优点:1) 高并发响应性能非常好,官方 Nginx 处理静态文件并发 5w/s...
2018-08-17 09:31:12 657
转载 Map初探
Map1.Map用法1.1类型介绍Java 自带了各种 Map 类。这些 Map 类可归为三种类型:通用Map,用于在应用程序中管理映射,通常在 java.util 程序包中实现HashMap、Hashtable、Properties、LinkedHashMap、IdentityHashMap、TreeMap、WeakHashMap、ConcurrentHashMa...
2018-06-15 10:07:12 230
原创 深入理解JVM(一)--基本原理
深入理解JVM(一)–基本原理1.前言JVM一直是Java知识里面进阶阶段的重要部分,如果希望在Java领域研究的更加深入,则JVM是无论如何也避开不了的话题,本系列试图通过简洁易懂的方式,讲解JVM必要的知识点。2.运行流程我们都知道Java语言运行的特点之一就是:一次编译,处处运行。那么Java的这一特点是如何实现的呢?请看下图 Java程序经过一次编译之后,将J...
2018-06-14 15:14:02 475
转载 代理模式
Java Proxy和CGLIB动态代理原理1.动态代理动态代理在Java中有着广泛的应用,比如Spring AOP,Hibernate数据查询、测试框架的后端mock、RPC,Java注解对象获取等。静态代理的代理关系在编译时就确定了,而动态代理的代理关系是在编译期确定的。静态代理实现简单,适合于代理类较少且确定的情况,而动态代理则给我们提供了更大的灵活性。今天我们来探讨Java中两...
2018-06-13 18:10:47 240
原创 redis系列(四)-- Spring Boot之Redis
Spring Boot使用redis1.Redis 简介Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-value类型的数据,同时还提供list,s...
2018-06-13 11:14:10 209
原创 插入排序
插入排序1.插入排序插入排序的代码实现虽然没有冒泡排序和选择排序那么简单粗暴,但它的原理应该是最容易理解的了,因为只要打过扑克牌的人都应该能够秒懂。插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序和冒泡排序一样,也有一种优化算法,叫做拆半插入。2. 算法步骤将第一待排序序列第一个...
2018-06-12 14:46:14 291
原创 选择排序
选择排序1.选择排序选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。2.算法步骤首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。重复第二步,直到所有元素均排序完毕。...
2018-06-12 14:38:33 262
原创 冒泡排序
冒泡排序1.冒泡排序冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。作为最简单的排序算法之一,冒泡排序给我的感觉就像 Abandon 在单词书里出...
2018-06-12 14:36:53 327 1
原创 Java集合之List接口
List接口、ArrayList类和LinkedList类1.ListList接口继承自Collection接口,其中常用的较为重要的方法如下:public interface List&lt;AnyType&gt; extends Collection&lt;AnyType&gt;{ int size(); boolean add(E e); bool...
2018-06-12 08:48:57 242
原创 六、Spring boot之使用Druid并配置SQL监控
Spring boot之使用Druid并配置SQL监控Druid是一个关系型数据库连接池,它是阿里巴巴的一个开源项目。Druid支持所有JDBC兼容数据库,包括了Oracle、MySQL、PostgreSQL、SQL Server、H2等。 Druid在监控、可扩展性、稳定性和性能方面具有明显的优势。通过Druid提供的监控功能,可以实时观察数据库连接池和SQL查询的工作情况。使用Druid...
2018-06-08 09:43:59 9234
原创 五、SpringBoot使用JPA完成CRUD
SpringBoot使用JPA完成CRUD1.什么是JPA2创建SpringBoot项目3.配置数据源以及JPA4.新建数据库5.代码编写5.1创建实体5.2创建JPA5.3编写CRUD方法6.启动项目SpringBoot使用JPA完成CRUD1.什么是JPA一说JavaWeb,很多小伙伴都知道SSH,这个H代表的就是Hibernate框架,这...
2018-06-07 18:24:30 6105 4
原创 Java多线程
1、https://www.cnblogs.com/GarfieldEr007/p/5746362.html 2、https://blog.csdn.net/evankaka/article/details/51489322 3、https://blog.csdn.net/column/details/javahhighconcurrence.html
2018-06-07 15:46:24 173
原创 Java集合类汇总
Java集合1.Java集合类基本概念在编程中,长城要集中存放多个数据。从传统意义上讲,数组是我们的一个很好的选择,前提是我们事先已经明确知道我们将要保存的对象的数量。一旦在数组初始化时指定了这个数组长度,这个数组长度就是不可变得,如果我们需要保存一个可以动态增长的数据,Java集合类便是我们很好的选择了。集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。所以的集合类都位...
2018-06-07 14:52:53 361
原创 四、Spring Boot Web开发二之Thymeleaf
Spring Boot之Thymeleaf开发1、Thymeleaf模板引擎2、Thymeleaf基础知识2.1、引入Thymeleaf2.2范围model中的数据2.3.引入URL2.4使用运算符2.5数据迭代(数据循环)3、项目实战3.1新建项目3.2项目配置3.3编写demo代码4、运行结果5、项目总结Spring Boot之Thym...
2018-06-06 16:27:33 1103
原创 三、Spring Boot Web开发一之JSP
Spring Boot Web开发一之JSPspringboot内部对jsp的支持并不是特别理想,而springboot官方推荐的视图是Thymeleaf,很多书籍和博客也是使用Thymeleaf做web开发,但是对于java开发人员来说还是大多数人员喜欢使用jsp,接下来我们来讲解下springboot是如何支持jsp的。本章目标整合springboot web项目支持jsp作为...
2018-06-06 14:44:38 735
原创 二、Spring Boot配置详解
springboot配置详解入口类和@SpringBootApplication定制Banner常规属性配置springboot配置详解入口类和@SpringBootApplication示例代码如下package com.crazyang;import org.springframework.boot.SpringApplication;impo...
2018-06-06 13:35:25 909
原创 一、初识springboot之快速搭建
简介SpringBoot主要优点:本章目的系统要求开始构建项目使用SPRING INITIALIZR构建使用IntelliJ IDEA构建简介对spring框架盛行了多年的java方向开发人员来说,每个人java开发已经把spring框架当做开发中不可或缺的一部分。之前传统的模式都是以applicationContext.xml配置文件的形式存在...
2018-06-06 09:59:25 2345
原创 Java中时间格式化(获取指定时间)
Java中时间格式化(获取指定时间,七天前)1、通过获取当前系统时间,格式化后转为“yyyy-MM-dd HH:mm:ss”格式并输出; 2、可获取指定时间,如七天前,一年前等,用户通过时间段查询相关业务。代码如下package controller;import java.text.SimpleDateFormat;import java.util.Calendar;imp...
2018-06-06 08:34:40 9623
原创 IDEA的license server(亲测可用)
IDEA的license server(亲测可用,持续更新)Mark! 一般第一个地址就可以用了,需要在有网的情况下; **http://idea.iteblog.com/key.php (2018年6月4日使用)**http://intellij.mandroid.cn/ **http://idea.imsxm.com/...
2018-06-04 08:34:49 18065
mybatis-generator
2017-07-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人