- 博客(39)
- 收藏
- 关注
原创 多线程-赛马游戏
package easy;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.ThreadPoolExecutor;import java.util.concurrent.TimeUnit;public class Solution66 { //初始化线程数 public static final int NUMBER = 3; public static voi...
2020-12-19 20:44:52
696
4
原创 leetCode7
题目描述:给定一个整数,编写一个函数来判断它是否是 2 的幂次方。代码实现:public static boolean isPowerOfTwo(int n) { int count = 0; if (n < 0) { return false; } String s = Integer.toBinaryString(n); for (int i = 0;i<s.length();i++) { if (s.char.
2020-12-02 15:56:06
133
原创 leetCode6
题目描述:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。 偷窃到的最高金额 = 1 + 3 = 4 。输入:[2,...
2020-12-02 12:46:15
166
原创 leetcode5
题目描述:给定一个大小为n的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于⌊ n/2 ⌋的元素。输入: [3,2,3]输出: 3输入: [2,2,1,1,1,2,2]输出: 2代码实现:public int majorityElement(int[] nums) { Arrays.sort(nums); return nums[nums.length / 2]; }...
2020-11-29 16:14:36
94
原创 leetcode4
题目描述:只出现一次的数字输入: [2,2,1]输出: 1输入: [4,1,2,1,2]输出: 4代码实现:方式一:异或思路 public int singleNumber(int[] nums) { int single = 0; for (int num : nums) { single ^= num; } return single; }作者:L...
2020-11-29 15:30:13
125
原创 leetcode3
题目描述:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。输入: 121输出: true输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。代码实现:publicbooleanisPalindrome(intx){Strings=...
2020-11-28 20:11:35
821
原创 leetcode2
题目描述:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。输入: 123输出: 321输入: -123输出: -321输入: 120输出: 21代码实现:public static int reverse(int x) { if (x >= 0) { String temp = x + ""; String str = new StringBuilder(temp).reverse(...
2020-11-28 19:51:36
92
原创 leetcode1
题目描述两数之和,你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。代码实现:public static int[] twoSum(int[] nums, int target) { Map<Integer, Integer> hashtable = new HashMap<Integer, Integer>(); for (int i = 0; i < nums.length; ++i) { if (h.
2020-11-28 00:33:38
124
原创 剑指8
题目描述:连续子数组的最大和[1,-2,3,10,-4,7,2,-5]输出 【18】代码实现:public class Solution { public int FindGreatestSumOfSubArray(int[] array) { int res = array[0]; //记录当前所有子数组的和的最大值 int max=array[0]; //包含array[i]的连续数组最大值 for (int ...
2020-11-27 23:41:02
147
1
原创 剑指7
题目描述:输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。代码实现:public int NumberOf1(int n) { int count = 0;while(n!= 0){count++;n = n & (n - 1);} return count; }...
2020-11-27 00:14:24
103
原创 剑指6
题目描述:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。代码实现:public class Solution {public int Add(int num1,int num2) {while (num2!=0) {int temp = num1^num2;num2 = (num1&num2)<<1;num1 = temp;...
2020-11-27 00:11:12
87
原创 剑指5
题目描述:操作给定的二叉树,将其变换为源二叉树的镜像。代码实现:public class Solution { public void Mirror(TreeNode root) { if(root == null) return; if(root.left == null && root.right == null) return; TreeNode pT...
2020-11-27 00:01:25
97
原创 剑指4
题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。代码实现:public class Solution { public int JumpFloorII(int target) { if (target <= 0) { return -1; } else if (target == 1) { return 1; } ...
2020-11-27 00:00:09
145
1
原创 剑指3
题目描述:输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。输入:[3,4,5,1,2] 输出:[1]代码实现:public class Solution {public int minNumberInRotateArray(int [] array) {int low =0 ;int high = array.length -1;while(low < high){...
2020-11-26 23:44:44
83
原创 剑指2
题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。代码实现:import java.util.Stack;public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); public void ...
2020-11-26 23:40:10
99
原创 剑指1
题目描述:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n\leq 39n≤39代码:public class Solution { public int Fibonacci(int n) { if(n < 0){ return -1; } if(n == 0){ return 0; }else if(...
2020-11-26 23:36:55
111
原创 Java三刷知识点
(1)Srting中的equal方法重写了Obejet的equal方法,如果是自定义对象需要比较是否相等,必须要重写equal方法和hashcode方法(2)Integer的值如果是在-128--127之间的,是直接拿缓存数据,没有创建新对象,如果超过了这个值,则会新建一个对象(3)synchronzie和reentrelock的使用情况synchronzie不可逆,一旦升级为重量级锁将会降低可用性reentrelock相对来说更为灵活,可以配合condition结合使用(4)AQS就是基于CLH
2020-10-20 22:20:33
157
原创 bibi项目总结
Ctrl+T Git拉取项目Ctrl+G 跳转到指定行(2)${}报错一般是占位符报错,解决方式是查看配置文件是否有这个信息classnotfound一般是没成功Install更新项目直接用pull更新即可,可以在Idea也可以在文件夹里(3)Dubbo配置连接步骤:查看生产端暴露的接口在消费端配置Url直连(4)git使用方法:1.切换master总支,进行pull拉取最新文件。然后新建一个分支2.切换到新建...
2020-08-04 21:04:58
982
原创 排序算法总结
/*选择排序:选择当前遍历的首位作为最小值,依次往后遍历,如果后面有比首位值更小,交换值时间复杂度:O(N2) 不稳定算法*/public class SelectionSort { public static void main(String[] args) { //初始化一个无序数组 int[] arr = {2,1,3,5,4,7,7,9,0}; //排序 selectSort(arr); ...
2020-08-04 21:03:45
146
原创 算法核心知识总结
(1)荷兰国旗问题解法:分区的概念因此引出快排的概念。快排核心理念是选取最后一个数进行分区,小于该数的放左边,等于的放中间,大于的放右边。空间复杂度是O(1),时间复杂度是O(n)。但是每个分区都是不稳定的。除非进行01 stable sort优化对快排的改进方法是随机选取一个数,而不是固定为最后一个数,那么所得出来的复杂度也是随机的(2)满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树完全二叉树概念:必须从左到右都需要补齐(如果有的话)满二叉树,每个节点必须有...
2020-08-04 21:01:12
914
原创 RocketMQ知识总结
一:RocketMQ架构模型二:引入消息队列RocketMQ需要解决的问题(1)顺序性:我们需要处理的仅仅是将同一语义下的消息放入同一个队列(比如这里是同一个订单),那我们就可以使用 Hash 取模法来保证同一个订单在同一个队列中就行了。重复性:1.redis的key-value天然支持幂等性2.数据库主键唯一事务性:事务消息加上事务反查机制(4)可靠性:对于消费者而言:重试对于队列而言:采用持久化机制,同步刷盘或者异步刷盘。对于生产者而言:发送消息采用同步.
2020-07-18 22:11:47
252
原创 Netty知识总结
一:各组件及其作用1.selector: 要使用Selector,得向Selector注册Channel,然后调用它的select()方法。这个方法会一直阻塞到某个注册的通道有事件就绪。一旦这个方法返回,线程就可以处理这些事件,事件的例子有如新连接进来,数据接收等。2.channel: Channel的实现这些是Java NIO中最重要的通道的实现:• FileChannel• DatagramChannel• SocketChannel•...
2020-07-02 21:21:06
3379
原创 多线程交替打印奇偶数
package com.lock.actual;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/*** Function: 两个线程交替执行打印 1~100** lock 版**/public class TwoThread { private int start =...
2020-06-25 21:58:43
473
原创 HTTP权威指南
(1)HTTP报文类型分两种,一种是请求报文,一种是响应报文报文的结构分为,起始行,首部字段,主体首部字段又分为 通用首部,请求首部,响应首部,实体首部(2)请求方法(3)网络传输的顺序(4)客户端通过URL访问服务器的步骤(5)状态码解析·401 unauthorized,表示发送的请求需要有通过 HTTP 认证的认证信息·403 fo...
2020-06-20 16:06:34
540
原创 Java二刷知识点
一:Java基础 1.public final native Class<?>getClass()//native方法,用于返回当前运行时对象的Class对象,使用了final关键字修饰,故不允许子类重写。 public native int hashCode()//native方法,用于返回对象的哈希码,主要使用在哈希表中,比如JDK中的HashMap。 public boolean equals(Object obj)//用于比较2个对...
2020-06-16 00:20:31
173
原创 JAVA复习路线
(1)互联网前菜https://github.com/Snailclimb/JavaGuide#%E5%88%86%E5%B8%83%E5%BC%8F(2)互联网主菜https://github.com/doocs/advanced-java(3)互联网甜品牛客大厂面经
2020-06-02 21:58:08
194
原创 C#知识总结
(1)方案包含专案,如果需要访问不同专案下的页面,需要设定当前页面为起始方案(2)Oracle 重置序列(不?除重建方式)https://blog.youkuaiyun.com/qq_39233076/article/details/82624642Oracle新建序列https://www.cnblogs.com/dshore123/p/8269537.html(3)...
2019-10-15 19:30:04
282
原创 Mybatis
(1)Java程序都是通过JDBC (Java Data Base Connectivity)连接数据库的,这样我们就可以通过SQL对数据库编程。JDBC是由SUN公司(SUN公司后被Oracle公司收购)提出的一系列规范,但是它只定义了接口规范,而具体的实现是交由各个数据库厂商去实现的,因为每个数据库都有其特殊性,这些是Java规范没有办法确定的,所以JDBC就是一种典型的桥接模式。(...
2019-07-16 20:41:45
90
原创 海航项目知识点
(1)全局搜索快捷键Ctrl+Shift+F(2)通过后台全部查询,再交由前端进行筛选记录(3)使用F12的好处可以直接获得请求与相应,F5开始记录然后选择NetWork ->>XHR。这种方式比直接找页面然后再找按钮方便多了,而且很清晰的看到前后端传递的数据。如果是修改页面样式,直接对比即可(4)后台获取数据后,前端进行筛...
2019-07-14 10:48:29
753
原创 圆通项目 知识点
(1)直接在对应路径上输入cmd,即可直接跳转到对应路径的命令行(2)如果团队开发,自己单独出现问题,很可能是自己的配置出现问题,着重检查jdk是否还有多余的包(3)el里的item只是需要用到插件才用(4)table里自带slot插槽,里面会带上column,row,$index等属性,可以用来控制行号或者合并单元格的操作举个例子<el-t...
2019-07-14 10:48:05
240
原创 分布式基础知识
(1)Java演变过程:JavaSE JavaEE 分布式(2)远程服务调用的风格:RPC(主要用于该风格的框架有Dubbo,WebService)和Http(主要用于该风格的框架有RestTemplate),RPC只支持同一个语言,而Http可以支持多种语言共同开发(3)RestTemplate远程服务调用例子package com.leyou.httpd...
2019-07-14 10:47:54
123
原创 Spring讲解
(1)Spring框架的七大模块1. Spring Core:Core封装包是框架的最基础部分,提供IOC和依赖注入特性。这里的基础概念是BeanFactory,它提供对Factory模式的经典实现来消除对程序性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置。2.Spring Context:构建于Core封装包基础上的 Context封装包,提供了一种框架式的...
2019-07-13 15:03:55
102
原创 深入浅出Mysql
深入浅出MySQL:Mysql的的三个核心知识点:一是存储引擎的对比,二是分区的要点,三是索引的使用(1)InnoDB:事务性存储引擎,适合做一些经常需要更新和修改的操作当中,一般是行级锁定MyISAM:非事务性存储引擎,适合做一些插入和读取操作比较频繁当中,一般是表级锁定(2)对于分组之后的条件不能再用where筛选而是采用having来筛选;我们尽可能用where...
2019-07-13 12:09:08
5838
转载 Mysql数据库
Mysql查询优化 什么是索引?观察下面一组数字:如果我想查找最后一个数字,那么我付出的最大查询成本是:查询10次,数据越多,查询代价越大。如果我想查询某个范围的值,比如查找小于5的值,我需要从头到尾把...
2019-07-13 11:47:35
131
原创 高并发
(1)本例介绍一个特殊的队列:BlockingQueue,如果BlockingQueue是空的,从BlockingQueue取东西的操作将会被阻断进入等待状态,直到BlockingQueue进了东西才会被唤醒,同样,如果BlockingQueue是满的,任何试图往里存东西的操作也会被阻断进入等待状态,直到BlockingQueue里有空间时才会被唤醒继续操作。(2)BlockingQu...
2019-07-13 11:15:41
74
原创 JVM
(1)OOM(java.lang.OutOfMemoryError:Java heap spacess)一般是由堆引起的问题,需要使用Jvm分析工具(如Eclipse Memory Analyzer)来查看是内存溢出还是内存泄漏如果是内存泄漏,则利用工具查看GC Roots的引用链是否可达。如果是内存溢出,则通过修改Jvm参数(-Xmx与-Xms)的设置是否适当。SOF(StackOv...
2019-07-13 11:13:07
90
转载 网络基础
摘要:理解HTTPS。作者:浪里行舟 版权归原作者所有。前言近几年,互联网发生着翻天覆地的变化,尤其是我们一直习以为常的HTTP协议,在逐渐的被HTTPS协议所取代,在浏览器、搜索引擎、CA机构、大型互联网企业的共同促进下,互联网迎来了“HTTPS加密时代”,HTTPS将在未来的几年内全面取代HTTP成为传输协议的主流。读完本文,希望你能明白:HTTP通信存在什么问题 HT...
2019-07-13 10:57:51
128
原创 JavaSE基础
(1)设定两个变量a,b.如何不通过第三方变量使得两两变量交换int a=a+b;int b=a-bint a=a-b;总结:这个做法可以减少栈的空间,并且这个不断利用更新的值进行运算,不错的思想(不添加,则保留),可是可读性较差(2)集合遍历的其中一种方法ArrayList a=new ArrayList();a.add(0,30);a.add(1,...
2019-07-13 10:20:35
102
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人