自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 Java Synchronized的使用与理解

Synchronized关键字在Java中,Synchronized是一种同步锁,用于保证线程安全,但在多线程争夺资源冲突的环境下使用,会造成大量的冲突与性能下降问题,所以在低并发和特定场景下慎重使用。Synchronized的修饰范围:修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象;修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象;修改一个静态的方法,其作用的范围是整个静态方

2022-05-11 20:31:07 233

原创 使用Jedis和SpringBoot连接远程Linux服务器上的Redis缓存数据库(以云服务器为实例)

使用Jedis和SpringBoot连接远程Linux服务器上的Redis缓存数据库(以云服务器为实例)一、Jedis连接1.导入Jedis相关依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version></version>

2022-05-04 13:01:41 1357

原创 阿里云服务器和宝塔Linux安装步骤说明

宝塔Linux面板简介2分钟装好面板,一键管理服务器,鼠标点几下就能替代以前的复杂繁多命令,操作简单,看一眼就会使用。有着如下功能:快速创建管理web项目快速预览服务器资源使用情况熟悉的文件管理系统一键安装软件及部署源码1.获得一台云服务器阿里云官网现在有活动,新用户可以免费试用一个月云服务器。学生党也可以认证一下学生身份,买服务器会便宜很多。2.设置安全组选中安全组,并将如下端口添加进去。端口对应的描述如下所示:端口号描述8888宝塔Linux面

2022-04-26 21:01:36 1044

原创 MySQL事务与Spring事务的隔离级别

MySQL事务:种类1.串行化(SERIALIZABLE)2.可重复读取(REPEATABLE READ)3.已提交读取(READ commited)4.未提交读取(read uncommited)这四种隔离级别由上到下来说 隔离级别逐渐降低,即串行化(SERIALIZABLE)> 可重复读取(REPEATABLE READ)> 已提交读取(READ commited) > 未提交读取(read uncommited)但性能方面是反过来的,即隔离级别越低,性能效率越高。

2022-04-25 17:07:07 2120

原创 SpringMVC执行流程

SpringMVC执行流程1)用户发送一个请求到DispatcherServlet(本质也是一个Servlet)。2)DispatcherServlet向HandlerMapping(处理器映射器)寻找能处理该请求的对象。3)HandlerMapping向DispatcherServlet返回处理链。4)DispatcherServlet向HandlerAdaptor(处理器适配器)请求按照处理链处理请求。5)HandlerAdaptor通过开发者开发的Controller来处理请求,并向Dis.

2022-03-18 19:15:04 58

原创 前缀树实现 Java

class Trie { TreeNode root; class TreeNode{ TreeNode[] next; boolean isEnd; public TreeNode(){ next = new TreeNode[26]; } } /** Initialize your data structure here. */ public Trie() {

2022-03-17 10:58:44 407

原创 LeetCode刷题笔记(118,杨辉三角,Easy)

class Solution { public List<List<Integer>> generate(int numRows) { List<List<Integer>> result = new ArrayList<List<Integer>>(); if(numRows == 0){ return result; } result..

2020-05-29 12:46:58 179

原创 LeetCode刷题笔记(121,买卖股票的最佳时机,Easy)

class Solution { public int maxProfit(int[] prices) { int minstake = Integer.MAX_VALUE; int maxprofit = 0; for(int i : prices){ if(i < minstake){ minstake = i; } maxprofit .

2020-05-29 12:45:46 111

原创 LeetCode刷题笔记(112,路径总和,Easy)

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public boolean hasPathSum(TreeNode root, int sum) { .

2020-05-29 12:44:49 128

原创 LeetCode刷题笔记(111,二叉树的最小深度,Easy)

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public int minDepth(TreeNode root) { if(root == nul.

2020-05-29 12:43:10 141

原创 LeetCode刷题笔记(110,平衡二叉树,Easy)

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public boolean isBalanced(TreeNode root) { if(root .

2020-05-29 12:42:05 88

原创 LeetCode刷题笔记(108,将有序数组转换为二叉搜索树,Easy)

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public TreeNode sortedArrayToBST(int[] nums) { if(n.

2020-05-29 12:40:28 128

原创 LeetCode刷题笔记(107,二叉树的层次遍历2,Easy)

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public List<List<Integer>> levelOrderBottom(Tre.

2020-05-29 12:38:55 132

原创 LeetCode刷题笔记(104,二叉树的最大深度,Easy)

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public int maxDepth(TreeNode root) { if(root == nul.

2020-05-29 12:37:24 87

原创 LeetCode刷题笔记(101,对称二叉树,Easy)

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public boolean isSymmetric(TreeNode root) { return .

2020-05-29 12:36:16 108

原创 LeetCode刷题笔记(100,相同的树,Easy)

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public boolean isSameTree(TreeNode p, TreeNode q) { .

2020-05-29 12:34:56 78

原创 LeetCode刷题笔记(88,合并两个有序数组,Easy)

class Solution { public void merge(int[] nums1, int m, int[] nums2, int n) { int site = m-- + n-- -1; //指向数组num1数组的最后一个位置 while(m >= 0 && n >= 0){ if(nums1[m] > nums2[n]){ nums1[site--] =.

2020-05-28 12:23:15 120

原创 LeetCode刷题笔记(83,删除链表中的重复元素,Easy)

/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode deleteDuplicates(ListNode head) { ListNode toollinklist = .

2020-05-28 12:21:47 70

原创 LeetCode刷题笔记(69,x的平方根,Easy)

class Solution { public int mySqrt(int x) { long left = 0; long right = x / 2; while (left <= right) { long mid = left + (right - left) / 2; long sqr = mid * mid; long nextSqr = (mid + 1) .

2020-05-28 12:20:44 100

原创 LeetCode刷题笔记(66,二进制求和,Easy)

class Solution { public String addBinary(String a, String b) { if(a.length() < b.length()){ return addBinary(b,a); } int L = Math.max(a.length(),b.length()); StringBuilder toolman = new StringBuilder(); .

2020-05-28 12:19:36 117

原创 LeetCode刷题笔记(70,爬楼梯,Easy)

class Solution { public int climbStairs(int n) { int toolvarible = 0; int num1 = 1; int num2 = 2; if(n<=2){ return n; } for(int i=3;i<=n;i++){ toolvarible = num1+num2; .

2020-05-28 12:18:15 102

原创 LeetCode刷题笔记(66,加一,Easy)

class Solution { public int[] plusOne(int[] digits) { int n=digits.length-1; digits[n]++; if(digits[n] != 10){ return digits; }else{ while(n != 0 && digits[n] == 10){ digi.

2020-05-28 12:16:58 110

原创 LeetCode刷题笔记(58,最后一个单词的长度,Easy)

class Solution { public int lengthOfLastWord(String s) { int total = 0; int maxtotal = 0; char[] arr = s.toCharArray(); for(int i=0;i<arr.length;i++){ if(arr[i]!=' '){ total++; .

2020-05-28 12:15:51 78

原创 LeetCode刷题笔记(53,最大子序和,Easy)

class Solution { public int maxSubArray(int[] nums) { int maxnum=nums[0]; int sum=0; for(int num:nums){ if(sum > 0){ //若当前子数组之和大于0,则加上当前num sum += num; } .

2020-05-28 12:14:37 102

原创 LeetCode刷题笔记(38,外观数列,Easy)

class Solution {/**借鉴的一个写题解的大佬的程序理解并提交的。。。 * 解题思路: * 本题的难点在于:报数的概念理解,至少我从题意中没有很清晰的理解,但是感觉像是个递推式 * 从4->5分析,将4个每一位拆开看(个数+数字),4=1211 => 1=11,2=12,11=21,所以5=111221 * 所以解题用循环,从1->n可求解出来 * * @param n * @return .

2020-05-28 12:13:20 127

原创 LeetCode刷题笔记(35,搜索插入位置,Easy)

class Solution { public int searchInsert(int[] nums, int target) { int tool = 0; for(int i=0;i<nums.length;i++){ tool = i; if(nums[i]<target){ continue; }else if(nums[i]==target.

2020-05-28 12:12:11 95

原创 LeetCode刷题笔记(14,最长公共前缀,Easy)

class Solution { /* 1.找到字符串数组中最短的字符串 最长公共前缀不会比最短的字符串长 2.遍历最短的字符串 从后往前筛选 中间在嵌套一个循环 在依次遍历字符串数组中的字符串 使用substring()方法来截取字符串长度来判断最短字符串是否相等 如若不等则将截取字符串的长度减1 直到将最短的字符串截取完毕为止 */ public String longestCommonPrefix(String[] strs) { .

2020-05-27 11:47:18 95

原创 LeetCode刷题笔记(13,罗马数字转整数,Easy)

class Solution { public int romanToInt(String s) { //char[] array = s.toCharArray(); int sum=0; int priornumber=getValue(s.charAt(0)); //charAt()方法 得到字符串中指定索引的字符型数据。 for(int i=1;i<s.length();i++){ int .

2020-05-27 11:47:07 145

原创 LeetCode刷题笔记(9,回文数,Easy)

class Solution { public boolean isPalindrome(int x) { int temp=x; if(temp<0){ return false; } String str = String.valueOf(temp); char[] array = str.toCharArray(); for(int i=0,j=array.lengt.

2020-05-27 11:46:55 81

原创 LeetCode刷题笔记(3,整数反转,Easy)

class Solution { public int reverse(int x) { /*判断X的合法性*/ if(x < -1*Math.pow(2,31) || x > Math.pow(2,31)){ return 0; } int temp=x; //定义一个数来代替x if(temp < 0){ temp *= (-1); .

2020-05-27 11:46:42 93

原创 LeetCode刷题笔记(1,两数之和,Easy)

Solution 1:哈希表执行时间:2msclass Solution { public int[] twoSum(int[] nums, int target) { Map<Integer,Integer> map = new HashMap< >(); for(int i=0;i<nums.length;i++) { int minusgap = target-nums[i]; .

2020-05-27 11:46:31 82

原创 LeetCode刷题记录(521,最长特殊序列,Easy)

521.最长特殊序列class Solution { public int findLUSlength(String a, String b) { if(a.equals(b)){ return -1; }else if(a.length() > b.length()){ return a.length(); } return b.length(); .

2020-05-27 11:46:18 86

原创 LeetCode刷题笔记(20,有效的括号,Easy)

public class MyStack { private int[] array; private int maxSize; private int top; public MyStack(int size){ this.maxSize = size; array = new int[size]; top = -1; } //压入数据 public void push(int value){ .

2020-05-27 11:45:39 74

原创 LeetCode刷题笔记(28,实现strStr(),Easy)

class Solution { public int strStr(String haystack, String needle) { if(needle.isEmpty()){ return 0; } char[] array1 = haystack.toCharArray(); char[] array2 = needle.toCharArray(); if(array1.length&l.

2020-05-27 11:45:12 84

原创 LeetCode刷题笔记(27,移除元素,Easy)

/*主要是遍历一遍数组,如果该数组元素不等于val,则将当前元素赋值给第i个数组元素,用i来记录长度。*/class Solution { public int removeElement(int[] nums, int val) { if (nums.length == 0) return 0; int i = 0; for (int j = 0; j < nums.length; j++) { if (nums.

2020-05-27 11:43:41 80

原创 LeetCode刷题笔记(3,删除数组中的重复项,Easy)

class Solution { public int removeDuplicates(int[] nums) { int demo=0;/*value=0;*/ int j=0; for(int i=1;i<nums.length;i++){ demo=nums[j]; if(demo<nums[i]){ j++; ...

2020-05-27 11:41:42 102

原创 LeetCode刷题笔记(21,合并两个有序链表,Easy)

/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode l3 = ne.

2020-05-27 11:39:38 75

空空如也

空空如也

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

TA关注的人

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