![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
Mark-Wang
菜鸟逆袭记
展开
-
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 · 306 阅读 · 0 评论 -
面试技术知识点记录
MVCC理解;OLAP 报表实现方式;Redis数据结构及主从复制如何实现(set和zset);消息如何保证有序(订单状态顺序,如何保证);技术架构描述;sychornized 如何实现的;sychornized 如何保证可重入的;ReentrantLock;volatile 是怎么实现的;Mysql数据到2000万为何性能会下降很快;hive为何能实现跨库查询;kafka ACK实现机制;(如何保证数据不丢失)...原创 2020-12-25 21:46:08 · 198 阅读 · 0 评论 -
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 · 483 阅读 · 0 评论 -
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 · 199 阅读 · 0 评论 -
IDEA显示类继承关系及类结构,超级实用
IDEA显示类继承关系在编写项目的时候,通过MAVEN查看jar包继承结构时,如果项目过于复杂,jar继承关系是很庞大的,对于其中某个类的继承关系,不是很直观的展示出来。通过快捷键 CTRL + H,可将指定类的继承关系清晰展示出来,是不是很方便。上图:IDEA显示类的结构通过快捷键 ALT + 7,可将类中方法和参数一一显示出来,一目了然,非常方便,推荐使用;上图:显示位置也是可灵活调整的选择齿轮图标,点击选择Move to,即可随意调整显示位置啦总结:开发利器,推荐使用原创 2020-06-21 18:05:30 · 1911 阅读 · 0 评论 -
Java锁详细介绍(2020最新最全版)
Java锁分类乐观锁乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后加锁操作(比较跟上一次的版本号,如果一样则更新),如果失败则要重复读-比较-写的操作。java 中的乐观锁基本都是通过 CAS 操作实现的,CAS 是一种更新的原子操作,比较当前值跟传入值是否一样,一样则更新,否则失败。悲观锁悲观锁是就是悲观思想,即认为写多,遇到并发写原创 2020-06-21 17:42:38 · 3097 阅读 · 2 评论 -
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 · 212 阅读 · 0 评论 -
消息中间件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 · 766 阅读 · 0 评论 -
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 · 425 阅读 · 0 评论 -
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 · 254 阅读 · 0 评论 -
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 · 367 阅读 · 0 评论 -
Java并发编程高频面试题(2020最新最全版)
文章目录基础知识并发编程的优缺点为什么要使用并发编程(并发编程的优点)并发编程有什么缺点并发编程三要素是什么?在 Java 程序中怎么保证多线程的运行安全?并行和并发有什么区别?什么是多线程,多线程的优劣?线程和进程区别什么是线程和进程?进程与线程的区别什么是上下文切换?守护线程和用户线程有什么区别呢?如何在 Windows 和 Linux 上查找哪个线程cpu利用率最高?什么是线程死锁形成死锁的四个必要条件是什么如何避免线程死锁创建线程的四种方式创建线程有哪几种方式?说一下 run...转载 2020-05-16 17:15:53 · 335 阅读 · 0 评论 -
JVM(Java虚拟机)高频面试题(2020最新最全推荐版)
前言JVM是高阶Java面试必问部分,本文主要要理解如下几个知识点:Java虚拟机内存是如何分配的;Java是如何垃圾回收的;Java垃圾回收机制具体方法;Java类加载机制(双亲委派机制);Java虚拟机常用调优参数;本文缺少Java生产排障的部分(以后博文会补上); 文章目录Java内存区域说一下 JVM 的主要组成部分及其作用?说一下 JVM 运行时数据区深拷贝和浅拷贝说一下堆栈的区别?队列和栈是什么?有什么区别?HotSpot虚拟机对象探秘对转载 2020-05-16 16:27:36 · 460 阅读 · 0 评论 -
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 · 1782 阅读 · 0 评论 -
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 · 758 阅读 · 0 评论 -
Java新手学习指南(2020最新推荐版)
写给入坑Java的新手程序员Java拥有丰富且完整的生态,各类框架及工具应有尽有,系统完善的学习需花费较大精力;Java在国内互联网行业应有最为广泛,没有之一,岗位多,但是竞争也最为激烈;Java现在不缺CRUD程序员,缺精通Java的高级工程师,入坑需谨慎;Java可让你轻松在一线城市实现中国梦,也能让你难以温饱;Java开源各自框架,但是源码读起来会让你枯燥乏味。Java生态链...原创 2020-05-01 18:57:45 · 480 阅读 · 0 评论 -
Spring Boot面试大全(2020最新版)强烈推荐
0 前言楼主最近在研究Spring与Spring Boot的区别,二者是继承与升级的关系,这是个人理解哈;继承:Spring Boot是来源自Spring,这毋庸置疑;Spring Boot简化了Spring XML繁琐的配置以及Tomcat内嵌等,降低新手入门难度,这点好坏就由各位,自行评价啦;开门见山,下面推荐并转载一篇博文,可算是入门Spring Boot入门简介吧,推荐给大家,原文链接:...转载 2020-05-01 16:55:04 · 350 阅读 · 0 评论 -
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 · 425 阅读 · 1 评论 -
Spring源码编译循环引用报错解决
1.前言Java程序员避免不了使用Spring框架,即使是使用Spring Boot和Spring Cloud技术栈,Spring原理是必须弄懂得,所以就需要编译Spring源码以及调试Spring源码,一探究竟。编译Spring会出现各种问题,大部分问题都有人写博文,我这篇主要记录Spring源码编译出现 循环引用报错问题解决方法。Spring源码编译教程此博文不在赘述!2.现象编译发现...原创 2020-04-05 12:56:33 · 660 阅读 · 0 评论 -
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 · 139 阅读 · 0 评论 -
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 · 261 阅读 · 0 评论 -
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 · 261 阅读 · 0 评论 -
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 · 8055 阅读 · 0 评论 -
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 · 207 阅读 · 0 评论 -
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 · 189 阅读 · 0 评论 -
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 · 201 阅读 · 0 评论 -
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 · 197 阅读 · 0 评论 -
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 · 266 阅读 · 0 评论 -
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 · 128 阅读 · 0 评论 -
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 · 221 阅读 · 0 评论 -
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 · 137 阅读 · 0 评论 -
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 · 228 阅读 · 0 评论