Java基础学习
文章平均质量分 74
xiakexiaohu
阿里、快手、网易内推,需要私聊~
展开
-
Spring事务传播行为Propagation及原理
Spring事务传播行为Propagation及原理原创 2022-10-13 23:46:53 · 610 阅读 · 0 评论 -
LeetCode.763 Partition Labels(标签分类)
LeetCode 标签分割原创 2022-06-07 11:46:28 · 277 阅读 · 0 评论 -
LeetCode.1861 Rotating the Box(旋转箱子)
1.题目You are given an m x n matrix of characters box representing a side-view of a box. Each cell of the box is one of the following:A stone ‘#’A stationary obstacle ‘*’Empty ‘.’The box is rotated 90 degrees clockwise, causing some of the stones to fal原创 2021-08-01 23:19:14 · 326 阅读 · 1 评论 -
《MySQL实战45讲》学习笔记
1.Mysql查询一条sql的执行过程:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E1Joan21-1621222288670)(http://note.youdao.com/yws/res/26751/662F638BA3FF46E98367F153859120DE)]首先连接器负责连接到指定的数据库上,接着看看查询缓存中是否有这条语句,如果有就直接返回结果。如果缓存没有命中的话,就需要分析器来对SQL语句进行语法和词法分析,判断SQL语句是否合法。现在来到优原创 2021-05-17 11:31:48 · 777 阅读 · 1 评论 -
Java方法耗时诊断-Arthas
1.背景某个业务方调用自己工程的rpc,由于本工程内的rpc耗时过长,导致调用rpc熔断(invoke rpc timeout)。2.问题排查2.1 事先准备确保线上和预发环境代码一致相关机器安装了Arthas,该诊断操作不建议在生产环境使用,可离线排查相关耗时。2.2 耗时分析1.启动Arthas$java -jar arthas-boot.jar2.选定指定PID选定相关java进程的PID前面的行号,输入回车即3.指定相关耗时方法Arthas可使用Tr原创 2021-05-15 22:16:32 · 950 阅读 · 0 评论 -
记一次 OOM:GC overhead limit exceeded排查
1.背景产品大大对程序员小亮抱怨某个计算收益类型的任务每次都要2+小时才能跑完,希望该任务能快速优化下。小亮嘴上嘟嚷道:可以做,要先提需求单(内心写照如下图)。2.分析2.1 流程1.程序员小亮对着收益类型的任务一顿分析,心想这还不简单(单线程改成多线程不就完事了)。遇事不要慌,开局先来一副流程图:2.2 TTL多线程- 多线程使用这还不简单,直接ThreadPoolExecutor走起,但是想到组内建议使用阿里的ThreadLocal Transmittable ThreadLoc原创 2021-04-28 20:23:31 · 2290 阅读 · 3 评论 -
LeetCode.491 Increasing Subsequences(递增子序列)
1.题目Given an integer array nums, return all the different possible increasing subsequences of the given array with at least two elements. You may return the answer in any order.The given array may contain duplicates, and two equal integers should also b原创 2021-04-13 23:21:59 · 140 阅读 · 0 评论 -
LeetCode.452 Minimum Number of Arrows to Burst Balloons(最少的箭射泡泡)
1.题目There are some spherical balloons spread in two-dimensional space. For each balloon, provided input is the start and end coordinates of the horizontal diameter. Since it's horizontal, y-coordinates don't matter, and hence the x-coordinates of start an原创 2020-12-31 15:56:26 · 146 阅读 · 0 评论 -
LeetCode.386 Lexicographical Numbers(字典序输出连续数)
1.题目Given an integer n, return 1 - n in lexicographical order.For example, given 13, return: [1,10,11,12,13,2,3,4,5,6,7,8,9].Please optimize your algorithm to use less time and space. The input size may be as large as 5,000,000.2.解答class Solution {原创 2020-12-10 23:40:42 · 146 阅读 · 0 评论 -
LeetCode.357 Count Numbers with Unique Digits (统计数字不同的总数)
1.题目Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n.2. 样例Example:Input: 2Output: 91 Explanation: The answer should be the total numbers in the range of 0 ≤ x < 100, excluding 11,22,33,4原创 2020-11-07 13:51:23 · 179 阅读 · 0 评论 -
别再手动赋值对象了,MapStruct了解一下!!!
引言你是否已经对手动get/set感到厌烦、恶心。什么???你就喜欢写这种代码,那这篇文章不适合你。1.概述1.日常业务开发中我们经常会遇到以下几种对象:PO(persistant object): 持久化对象,可以看成是与数据库中的表相映射的 java 对象。最简单的 PO 就是对应数据库中某个表中的一条记录。VO(view object): 视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。DTO(Data transport object):数据传输对象,原创 2020-10-23 13:06:40 · 2065 阅读 · 0 评论 -
LeetCode.399 Evaluate Division(评估除法)
1.题目You are given an array of variable pairs equations and an array of real numbers values, where equations[i] = [Ai, Bi] and values[i] represent the equation Ai / Bi = values[i]. Each Ai or Bi is a string that represents a single variable.You are also g原创 2020-10-10 23:43:06 · 178 阅读 · 0 评论 -
LeetCode.725 Split Linked List in Parts (将链表分成k段)
1.题目Given a (singly) linked list with head node root, write a function to split the linked list into k consecutive linked list “parts”.The length of each part should be as equal as possible: no two parts should have a size differing by more than 1. This原创 2020-09-12 12:59:27 · 184 阅读 · 0 评论 -
Leetcode.665 Non-decreasing Array(替换一个数成为非降序数组)
1.题目Given an array nums with n integers, your task is to check if it could become non-decreasing by modifying at most 1 element.We define an array is non-decreasing if nums[i] <= nums[i + 1] holds for every i (0-based) such that (0 <= i <= n - 2原创 2020-08-09 21:00:50 · 290 阅读 · 0 评论 -
LeetCode.698 Partition to K Equal Sum Subsets(均分成k组和相等)
1.题目Given an array of integers nums and a positive integer k, find whether it's possible to divide this array into k non-empty subsets whose sums are all equal.2.输入/输出样例Input: nums = [4, 3, 2, 3, 5, 2, 1], k = 4Output: TrueExplanation: It's possible原创 2020-08-08 09:44:39 · 189 阅读 · 0 评论 -
LeetCode.540 01 Matrix(距离0最近的距离)
1.题目Given a matrix consists of 0 and 1, find the distance of the nearest 0 for each cell.The distance between two adjacent cells is 1.2.输入输出样例子Example 1:Input:[[0,0,0], [0,1,0], [0,0,0]]Output:[[0,0,0], [0,1,0], [0,0,0]]Example 2:Input:[[0原创 2020-07-26 11:28:23 · 295 阅读 · 0 评论 -
LeetCode.738 Monotone Increasing Digits(单调递增的数)
1.题目Given a non-negative integer N, find the largest number that is less than or equal to N with monotone increasing digits.(Recall that an integer has monotone increasing digits if and only if each pair of adjacent digits x and y satisfy x <= y.)2.样原创 2020-06-27 15:56:21 · 177 阅读 · 0 评论 -
LeetCode.658 Find K Closest Elements(查找最近的k个数)
1.题目Given a sorted array, two integers k and x, find the k closest elements to x in the array. The result should also be sorted in ascending order. If there is a tie, the smaller elements are alway...原创 2020-05-04 15:44:12 · 334 阅读 · 0 评论 -
LeetCode.678 Valid Parenthesis String
题目Given a string containing only three types of characters: ‘(’, ‘)’ and ‘*’, write a function to check whether this string is valid. We define the validity of a string by these rules:Any left paren...原创 2020-04-22 00:30:27 · 268 阅读 · 0 评论 -
关于Maven你必须知道的知识点!!!
文章目录0.0.<Maven实战>相关Maven实战电子书地址请自行百度。1.关于Maven相关基础知识Maven基本坐标标签含义:定义项目属于哪个组,这个组往往和项目所在的组织和公式有关。必填项:定义当前Maven项目的唯一ID。必填项:指定当前开发项目的版本,(1.0.0-SNAPSHOT)SNAPSHOT意为快照,说明项目还在开发中。当项目稳定后即为relas...原创 2020-04-06 17:23:51 · 249 阅读 · 0 评论 -
LeetCode.539 Minimum Time Difference(求时间最小间隔)
题目Given a list of 24-hour clock time points in "Hour:Minutes" format, find the minimum minutes difference between any two time points in the list.Example 1:Input: ["23:59","00:00"]Output: 1Note:...原创 2020-03-07 17:07:00 · 788 阅读 · 0 评论 -
Java正则表达式简介
Java的正则表达式讲解:(为了能看清,本文正则表达式用中文的句号代替英文句点)1 英文句点符号:匹配单个任意字符。eg:表达式:t。o 可以匹配:tno,t#o,teo等等。不可以匹配:tnno,to,Tno,t正o等。2 方括号:只有方括号里面指定的字符才参与匹配,也只能匹配单个字符。eg:表达式:t[abcd]n 只可以匹配:tan,tbn,tcn转载 2017-06-05 21:45:21 · 263 阅读 · 0 评论 -
Java基础技巧和概念
1.Java二维数组长度求解.for(int i=0;i<arr.length;i++){ //列长度 for(int j=0;i<arr[i].length;j++){ }}多维数组类似可以使用嵌套循环实现。2.Java数组键赋值有两种方法第一种用for循环:1234int[] x={1,2}; i...原创 2017-09-01 17:22:19 · 279 阅读 · 0 评论 -
Java中extends和implements区别
extends和implements区别: 1:extends继承父类,被继承的子类是”is a“,共性功能(即子类可以直接使用父类的方法,当然也可以重写父类的方法,前提是(父类中该方法不能为final修饰,必须是abstract修饰),面向对象编程中,使用接口也是一种“is a”的关系。而且Java中只能单继承,例如:class A extends B 正确原创 2017-07-17 20:45:29 · 441 阅读 · 0 评论 -
Intellij IDEA设置忽略部分类编译错误
有些时候我们的项目中有些错误,但这些错误并不影响项目的整体运行(或许是没有使用到),默认情况下idea是无法通过编译的,因此也就无法部署运行,要达到正确运行项目的目的需要作一些设置才行。设置Intellij IDEA忽略部分类编译错误设置很简单,只需要两步即可。1、设置Java编译器如上图所示,Ctrl+Alt+S快捷键打开“Settings”对话框,找到设置中的“Java C原创 2018-01-03 17:45:41 · 1624 阅读 · 0 评论 -
Java中List和数组间的转换
1.List转换成为数组。(这里的List是实体是ArrayList)调用ArrayList的toArray方法。toArraypublic T[] toArray(T[] a)返回一个按照正确的顺序包含此列表中所有元素的数组;返回数组的运行时类型就是指定数组的运行时类型。如果列表能放入指定的数组,则返回放入此列表元素的数组。否则,将根据指定数组的运行时类型和此列表的大小分配一个新的转载 2017-11-07 23:58:49 · 559 阅读 · 0 评论 -
Java中hashcode方法
转载:http://www.cnblogs.com/dolphin0520/ 哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法:1public native int hashCode(); 根据这个方法的声明转载 2017-11-09 20:20:27 · 187 阅读 · 0 评论 -
Java中HashMap遍历的四种方式
System.out.println("普通的遍历方法,通过Map.keySet遍历key和value");//普通使用,二次取值 for (String key : map.keySet()) { System.out.println("key= "+key+" and value= "+map.get(key)); } System.out.pr...转载 2017-10-30 22:21:13 · 444 阅读 · 0 评论 -
mybatis和hibernate本质区别和应用场景
hibernate:是一个标准ORM框架(对象关系映射)。入门门槛较高的,不需要程序写sql,sql语句自动生成了。对sql语句进行优化、修改比较困难的。应用场景: 适用与需求变化不多的中小型项目,比如:后台管理系统,erp、orm、oa。。 mybatis:专注是sql本身,需要程序员自己编写sql语句,sql修改、优化比较方便。mybatis是一个不完全 的原创 2017-10-30 15:00:50 · 210 阅读 · 0 评论 -
float数据在内存中式怎么存储的
一个浮点数有2部分组成:底数m和指数e底数部分 使用二进制数来表示此浮点数的实际值指数部分 占用8bit的二进制数,可表示数值范围为0-255但是指数可正可负,所以,IEEE规定,此处算出的次方必须减去127才是真正的指数。所以,float类型的指数可从-126到128底数部分实际是占用24bit的一个值,但是最高位始终为1,所以,最高位省去不存储,在存原创 2017-05-02 22:49:54 · 246 阅读 · 0 评论 -
Java关于Collections小结Test
package day15_Collections;import java.util.ArrayList;import java.util.Collections;import java.util.List;/* * Collections:是针对集合进行操作的工具类,都是静态方法 * * 面试题: * Collection和Collections的区别? * Coll原创 2017-06-27 16:11:30 · 314 阅读 · 0 评论 -
单例模式和工厂模式详解
今题那站在这里和大家一起分享最近在一本书上看到的关于设计模式的内容,接下来要讲的设计模式有:单例模式简单工厂模式工厂方法和抽象工厂代理模式命令模式策略模式门面模式桥接模式观察者模式接下来详细介绍灭一种设计模式(注意:下面的讲解都是基于java语言)1.单例模式 定义:Java中单例模式定义:“一个类有且仅有一个实例,并且自行实例化向整个系统提供。”...转载 2018-03-01 14:34:05 · 1066 阅读 · 0 评论 -
Comparable、Comparator区别、Comparator升序降序实现
Comparable与Comparator的区别 可参考: http://blog.csdn.net/mageshuai/article/details/3849143 总结: 1) 用 Comparator 是策略模式(strategy design pattern),就是不改变对象自身,而用一个策略对象(strategy object)来改变它的...转载 2018-03-09 11:50:10 · 2057 阅读 · 0 评论 -
JDK8-Optional类避免NPE
1.需求分析调用RPC返回结果、包装类转简单类型,拆箱过程最容易出现NPE问题。JDK8之前需要小心翼翼对各种类型进行判空,可通过JKD8-Optional类来预发未知的NPE错误。2.关于避免NPE的常识【强制】所有POJO类属性必须使用包装数据类型【强制】所有RPC方法的返回和参数必须使用包装数据类型【推荐】所有局部变量使用基本简单数据类型Ps:POJO类属性没有初值是提醒...原创 2019-06-28 16:00:24 · 6661 阅读 · 0 评论 -
JDK8新特性并行流-ParallelStream
package chap07.ParalleDemo;import java.util.function.Function;import java.util.stream.LongStream;import java.util.stream.Stream;class Accumlator{ public long total = 0; public void add...原创 2019-01-23 16:56:46 · 2479 阅读 · 0 评论 -
ForkJoinPool线程池
在Java 7中引入了一种新的线程池:ForkJoinPool。它同ThreadPoolExecutor一样,也实现了Executor和ExecutorService接口。它使用了一个无限队列来保存需要执行的任务,而线程的数量则是通过构造函数传入,如果没有向构造函数中传入希望的线程数量,那么当前计算机可用的CPU数量会被设置为线程数量作为默认值。ForkJoinPool主要用来使用分治法(...原创 2019-01-24 10:00:36 · 8064 阅读 · 3 评论 -
【转】IDEA中Maven报错NoClassDefFoundError
这是我走的大概三天的坑,一直搞不清楚原因,今天总算把问题解决了。 首先说问题的源头,是我使用SSM框架写j2ee程序,要使用到AOP,于是就在网上查找了如何使用maven添加AOP相关的jar包,之后配置了pom.xml文件如下:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.or...转载 2019-01-18 16:32:00 · 1889 阅读 · 2 评论 -
SpringMVC整合MongDB
小编由于Maven项目需要将MongDB整合至SpringMVC项目中,希望能给同样需要的童鞋帮助。1.导入Pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/...原创 2019-01-10 20:40:52 · 276 阅读 · 0 评论 -
Java8特性03-关于Stream中Map和FlatMap必知点
package chap03;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.stream.Collectors;public class FlatMap { public static void main(String[] args) {...原创 2019-01-10 20:28:41 · 2483 阅读 · 1 评论 -
JDK8 新特性-Map对key和value分别排序实现
在Java 8 中使用Stream 例子对一个 Map 进行按照keys或者values排序.1. 快速入门 在java 8中按照此步骤对map进行排序.将 Map 转换为 Stream 对其进行排序 Collect and return a new LinkedHashMap (保持顺序)Map result = map.entrySet().stream() .sort...转载 2018-12-21 21:17:55 · 14073 阅读 · 0 评论