自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

WangHuanToBeBest

一颗恒心走江湖

  • 博客(78)
  • 收藏
  • 关注

原创 java Lock实现生产者 消费者 模式 实例教程 (强烈推荐)

话不多说,直接上代码;github代码地址数量package com.pattern.productorconsumer.lock;/** * 数量 */public class CountNum { private Integer count; public Integer getCount() { return count; } public void setCount(Integer count) { this.co

2020-10-30 17:40:06 496

原创 Java 阻塞队列实现 生产者 消费者 模式 实例教程(强烈推荐)

话不多说,直接上代码:github代码地址生产者package com.pattern.productorconsumer.blockingqueue;import java.util.concurrent.BlockingQueue;/** * 生产者 */@SuppressWarnings("rawtypes")public class Producer implements Runnable{ private final BlockingQueue sharedQueu

2020-10-30 17:33:01 208

原创 Java锁详细介绍(2020最新最全版)

Java锁分类乐观锁乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后加锁操作(比较跟上一次的版本号,如果一样则更新),如果失败则要重复读-比较-写的操作。java 中的乐观锁基本都是通过 CAS 操作实现的,CAS 是一种更新的原子操作,比较当前值跟传入值是否一样,一样则更新,否则失败。悲观锁悲观锁是就是悲观思想,即认为写多,遇到并发写

2020-06-21 17:42:38 3119 2

转载 消息中间件MQ高频面试题(2020最新最全推荐版)

前言MQ与RPC区别?MQ是啥?MQ有啥好处与缺点?MQ模型与原理是啥?真正理解还是得去使用;以上为关键点,请大家点赞留言,感谢! 文章目录为什么使用MQ?MQ的优点消息队列有什么优缺点?RabbitMQ有什么优缺点?你们公司生产环境用的是什么消息中间件?Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点?MQ 有哪些常见问题?如何解决这些问题?什么是RabbitMQ?rabbitmq 的使用场景RabbitMQ基本概念RabbitMQ的工

2020-05-30 13:08:33 773

转载 Redis必知必会高频面试题(2020最新最全推荐版)

前言1.Redis是分布式系统必用部分;2.掌握Redis原理对于高可用分布式系统尤为重要。 文章目录概述什么是RedisRedis有哪些优缺点为什么要用 Redis /为什么要用缓存为什么要用 Redis 而不用 map/guava 做缓存?Redis为什么这么快数据类型Redis有哪些数据类型Redis的应用场景持久化什么是Redis持久化?Redis 的持久化机制是什么?各自的优缺点?如何选择合适的持久化方式Redis持久化数据和缓存怎么做扩容?过期键的删除策略Redis

2020-05-23 16:59:16 842

原创 Java新手学习指南(2020最新推荐版)

写给入坑Java的新手程序员Java拥有丰富且完整的生态,各类框架及工具应有尽有,系统完善的学习需花费较大精力;Java在国内互联网行业应有最为广泛,没有之一,岗位多,但是竞争也最为激烈;Java现在不缺CRUD程序员,缺精通Java的高级工程师,入坑需谨慎;Java可让你轻松在一线城市实现中国梦,也能让你难以温饱;Java开源各自框架,但是源码读起来会让你枯燥乏味。Java生态链...

2020-05-01 18:57:45 493

原创 学习工作总结

近期学习工作总结1、前言近期换了份工作,特此来这对这一段时间进行总结;2、心得(1)工作超过三年以上,不在仅仅需要对各种技术栈进行深入了解啦,因为对技术的了解挖掘这个是基本技能,更需要在业务认识、知识总结以及团队协作上进一步发展,说白了就是软实力,技术算硬实力吧,不认同请勿拍砖;(2)软实力如何提高需要提升PPT制作与演讲能力;各种画图软件的使用,强烈推荐XMind,Drawio(有网页版,无需下载)文档记录与输出,博客是必须有,云笔记用起来(大神们都在用Typroa)业务抽象能力,这个

2021-06-27 18:19:41 177

原创 LeetCode:单词拆分(Java)

给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = “leetcode”, wordDict = [“leet”, “code”]输出: true解释: 返回 true 因为 “leetcode” 可以被拆分成 “leet code”。示例 2:输入: s = “applepenapple”, wordDict = [“

2021-01-24 11:02:59 314

原创 面试技术知识点记录

MVCC理解;OLAP 报表实现方式;Redis数据结构及主从复制如何实现(set和zset);消息如何保证有序(订单状态顺序,如何保证);技术架构描述;sychornized 如何实现的;sychornized 如何保证可重入的;ReentrantLock;volatile 是怎么实现的;Mysql数据到2000万为何性能会下降很快;hive为何能实现跨库查询;kafka ACK实现机制;(如何保证数据不丢失)...

2020-12-25 21:46:08 204

原创 LeetCode第50题:Pow(x, n)(Java详解)

题目解析:实现幂次方解题思路:递归调用最是方便,也是递归最经典用法代码:class Solution { public double myPow(double x, int n) { if (n == 0){ return 1; } if (n == 1){ return x; } if (n == -1){ return 1/x; .

2020-08-16 17:32:42 243

原创 LeetCode第49题:Group Anagrams(Java详解)

Given an array of strings, group anagrams together.Example:Input: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”],Output:[[“ate”,“eat”,“tea”],[“nat”,“tan”],[“bat”]]Note:All inputs will be in lowercase.The order of your output does not matter.题目解析:同

2020-08-16 17:16:07 316

原创 IDEA显示类继承关系及类结构,超级实用

IDEA显示类继承关系在编写项目的时候,通过MAVEN查看jar包继承结构时,如果项目过于复杂,jar继承关系是很庞大的,对于其中某个类的继承关系,不是很直观的展示出来。通过快捷键 CTRL + H,可将指定类的继承关系清晰展示出来,是不是很方便。上图:IDEA显示类的结构通过快捷键 ALT + 7,可将类中方法和参数一一显示出来,一目了然,非常方便,推荐使用;上图:显示位置也是可灵活调整的选择齿轮图标,点击选择Move to,即可随意调整显示位置啦总结:开发利器,推荐使用

2020-06-21 18:05:30 1919

原创 LeetCode第48题:Rotate Image(Java详解版)

题目:48.Rotate ImageYou are given an n x n 2D matrix representing an image.Rotate the image by 90 degrees (clockwise).Note:You have to rotate the image in-place, which means you have to modify the input 2D matrix directly. DO NOT allocate another 2D mat

2020-06-14 19:46:18 222

转载 MySql高频知识点(2020最新最全推荐版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)索引有哪几种类型?索引的数据结构(b树,hash)索引的基本原理索引算法有哪些?索引设计...

2020-06-13 13:09:32 645

转载 Netty高频面试题总结(2020最新最全推荐版)

前言Netty与NIO的什么关系?零拷贝?Netty模型?Netty与Linux中IO间关系?弄清以上,基本算是掌握Netty,共勉;请大家点赞,评论,感谢! 文章目录1.Netty 是什么?2.Netty 的特点是什么?3.Netty 的优势有哪些?4.Netty 的应用场景有哪些?5.Netty 高性能表现在哪些方面?6.BIO、NIO和AIO的区别?7.NIO的组成?8.Netty的线程模型?9.TCP 粘包/拆包的原因及解决方法?10.什么是

2020-05-30 13:01:32 434

转载 Java Collection集合容器高频面试题(2020最新最全推荐版)

前言1.Java编程时,离不开使用Collection集合容器;2.Collection底层涉及基础的算法与数据结构;3.理解Collection底层原理,对于构建健壮性系统必不可少。 文章目录集合容器概述什么是集合集合的特点集合和数组的区别使用集合框架的好处常用的集合类有哪些?List,Set,Map三者的区别?List、Set、Map 是否继承自 Collection 接口?List、Map、Set 三个接口存取元素时,各有什么特点?集合框架底层数据结构哪些

2020-05-23 16:51:46 263

原创 LeetCode第47题:Permutations II(2020最详细版)

Given a collection of numbers that might contain duplicates, return all possible unique permutations.Example:Input: [1,1,2]Output:[[1,1,2],[1,2,1],[2,1,1]]题目解析:求取不重复的排列组合,与前一题增加了去重的难度,所以此题的关键在于如何去重;题目去重逻辑:1.增加数字是否加入排列的标识:boolean flags = new boo

2020-05-16 19:54:33 416

转载 Java并发编程高频面试题(2020最新最全版)

文章目录基础知识并发编程的优缺点为什么要使用并发编程(并发编程的优点)并发编程有什么缺点并发编程三要素是什么?在 Java 程序中怎么保证多线程的运行安全?并行和并发有什么区别?什么是多线程,多线程的优劣?线程和进程区别什么是线程和进程?进程与线程的区别什么是上下文切换?守护线程和用户线程有什么区别呢?如何在 Windows 和 Linux 上查找哪个线程cpu利用率最高?什么是线程死锁形成死锁的四个必要条件是什么如何避免线程死锁创建线程的四种方式创建线程有哪几种方式?说一下 run...

2020-05-16 17:15:53 345

转载 JVM(Java虚拟机)高频面试题(2020最新最全推荐版)

前言JVM是高阶Java面试必问部分,本文主要要理解如下几个知识点:Java虚拟机内存是如何分配的;Java是如何垃圾回收的;Java垃圾回收机制具体方法;Java类加载机制(双亲委派机制);Java虚拟机常用调优参数;本文缺少Java生产排障的部分(以后博文会补上); 文章目录Java内存区域说一下 JVM 的主要组成部分及其作用?说一下 JVM 运行时数据区深拷贝和浅拷贝说一下堆栈的区别?队列和栈是什么?有什么区别?HotSpot虚拟机对象探秘对

2020-05-16 16:27:36 621

原创 redisclient连接Docker redis详细教程

安装步骤:楼主用得VirtualBox,里面安装的centos7,在docker中安装了redis,此为前提;2.至于在VirtualBox中centos7相信不难,大家可以谷歌下,即可搞定;此外docker容器中下载redis,更是简单;docker pull redis:latest ----下载最新redis版本3.docker 配置redis(1)准备redis的一些配置文件首先在/root/redis/data 创建好文件夹用于存放redis数据,这个文件夹位置也可以自己选。

2020-05-10 18:48:49 1809

转载 Spring高频面试题(2020最新最全推荐版)

文章目录Spring概述(10)什么是spring?Spring框架的设计目标,设计理念,和核心是什么Spring的优缺点是什么?Spring有哪些应用场景Spring由哪些模块组成?Spring 框架中都用到了哪些设计模式?详细讲解一下核心容器(spring context应用上下文) 模块Spring框架中有哪些不同类型的事件Spring 应用程序有哪些不同组件?使用 Spring 有哪些方式?Spring控制反转(IOC)(13)什么是Spring IOC 容器?...

2020-05-10 13:21:30 766

转载 Spring Boot面试大全(2020最新版)强烈推荐

0 前言楼主最近在研究Spring与Spring Boot的区别,二者是继承与升级的关系,这是个人理解哈;继承:Spring Boot是来源自Spring,这毋庸置疑;Spring Boot简化了Spring XML繁琐的配置以及Tomcat内嵌等,降低新手入门难度,这点好坏就由各位,自行评价啦;开门见山,下面推荐并转载一篇博文,可算是入门Spring Boot入门简介吧,推荐给大家,原文链接:...

2020-05-01 16:55:04 359

原创 LeetCode第46题:Permutations(全排列)Java详解

Given a collection of distinct integers, return all possible permutations.Example:Input: [1,2,3]Output:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]题目解析:就是高中学习的排列组合,给定几个数字,求出所有的组合形式;...

2020-04-18 12:42:57 434 1

原创 LeetCode第45题:Jump Game II(C++详解)

Given an array of non-negative integers, you are initially positioned at the first index of the array.Each element in the array represents your maximum jump length at that position.Your goal is to r...

2020-04-12 18:39:41 303

原创 LeetCode第44题:Wildcard Matching(C++详解)

Given an input string (s) and a pattern §, implement wildcard pattern matching with support for ‘?’ and ‘*’.‘?’ Matches any single character.‘*’ Matches any sequence of characters (including the emp...

2020-04-06 11:17:56 275

原创 Spring源码编译循环引用报错解决

1.前言Java程序员避免不了使用Spring框架,即使是使用Spring Boot和Spring Cloud技术栈,Spring原理是必须弄懂得,所以就需要编译Spring源码以及调试Spring源码,一探究竟。编译Spring会出现各种问题,大部分问题都有人写博文,我这篇主要记录Spring源码编译出现 循环引用报错问题解决方法。Spring源码编译教程此博文不在赘述!2.现象编译发现...

2020-04-05 12:56:33 671

原创 LeetCode第43题:Multiply Strings(Java详解)

Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2, also represented as a string.Example 1:Input: num1 = “2”, num2 = “3”Output: “6”Example 2:...

2020-03-28 11:30:37 151

原创 LeetCode第42题:Trapping Rain Water(Java详解)

Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining.解题思路:1.仔细看题目,就是给定个数组,某个元素小于自己左边和右边即可装水,装水是左右二边高...

2020-03-22 15:57:04 292

原创 LeetCode第41题:First Missing Positive(Java、C++)详解

Given an unsorted integer array, find the smallest missing positive integer.Example 1:Input: [1,2,0]Output: 3Example 2:Input: [3,4,-1,1]Output: 2Example 3:Input: [7,8,9,11,12]Output: 1题目解析:...

2020-03-14 19:29:26 270

原创 Java List判空详解

Java List判空、字符串判空1.List判空在写Java程序的时候,常见就是List判空问题,程序一旦未判空就会出现空异常;方法一:@Test void Test() { List<String> list = new ArrayList<>(); if(list != null && list....

2020-03-01 16:59:00 8245

原创 LeetCode第40题:Combination Sum II(Java详解)

Given a collection of candidate numbers (candidates) and a target number (target), find all unique combinations in candidates where the candidate numbers sums to target.Each number in candidates may ...

2020-02-23 11:38:20 218

原创 LeetCode 第39题:Combination Sum (Java详解)

Given a set of candidate numbers (candidates) (without duplicates) and a target number (target), find all unique combinations in candidates where the candidate numbers sums to target.The same repeate...

2020-02-23 11:10:21 198

原创 LeetCode第38题:Count and Say(Java详解)

Count and SayThe count-and-say sequence is the sequence of integers with the first five terms as following:1112112111112211 is read off as “one 1” or 11.11 is read off as “t...

2020-01-05 17:34:52 208

原创 LeetCode第37题:Sudoku Solver(Java、C++详解)

Write a program to solve a Sudoku puzzle by filling the empty cells.A sudoku solution must satisfy all of the following rules:Each of the digits 1-9 must occur exactly once in each row.Each of the ...

2019-12-31 13:32:39 206

原创 LeetCode第36题:Valid Sudoku(Java、C++详解)

Valid SudokuDetermine if a 9x9 Sudoku board is valid. Only the filled cells need to be validated according to the following rules:1.Each row must contain the digits 1-9 without repetition.2.Each ...

2019-12-29 16:43:48 280

原创 LeetCode第35题:Search Insert Position(Java详解)

Search Insert PositionGiven a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.You may assume no du...

2019-12-29 10:35:22 138

原创 LeetCode第34题:Find First and Last Position of Element in Sorted Array(Java详解)

Find First and Last Position of Element in Sorted ArrayGiven an array of integers nums sorted in ascending order, find the starting and ending position of a given target value.Your algorithm’s run...

2019-12-21 12:19:42 231

原创 Java Lombok详细介绍(实用工具)

1 Lombok背景介绍官方介绍如下:Project Lombok makes java a spicier language by adding 'handlers' that know how to build and compile simple, boilerplate-free, not-quite-java code.大致意思是Lombok通过增加一些“处理程序”,可以让jav...

2019-12-15 19:20:54 146

原创 LeetCode第33题:Search in Rotated Sorted Array(Java详解)

Search in Rotated Sorted ArraySuppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.(i.e., [0,1,2,4,5,6,7] might become [4,5,6,7,0,1,2]).You are given a ta...

2019-12-15 18:26:39 336

原创 SSM+Maven入门实例教程详解(Java)

1、开篇最近在学习Java,所以在继续撰写LeetCode算法系列后,会推出Java学习系列,请大家支持。2、环境准备我使用环境如下:Mysql WorkBench 8.0 CE + IJ2019.1.3 + Maven3.6.13.DEMO实例(1)项目架构(2)项目文件具体代码IAccountDao代码:package com.itheima.dao;import c...

2019-11-03 17:41:38 239

空空如也

空空如也

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

TA关注的人

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