自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mason97的博客

欢迎访问我的个人博客:http://118.126.90.35

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

原创 BIO NIO AIO Netty 同步 异步 阻塞 非阻塞

目录1. BIO1.1 bio的服务端:1.2 bio的客户端:1.3 bio总结:2. 单线程NIO2.1 服务器端代码:2.2 总结单线程NIO3. 多线程NIO3.1 概念4. AIO4.1 代码4.2 AIO理解4.3 NIO AIO Netty 三者的关系5. Netty6. 同步 异步 阻塞 非阻塞7. 参考1. BIO1.1 bio的服务端:public class Server { public static void main(String[] args) throws IO

2020-07-29 12:07:24 229

原创 【LeetCode】6. Z 字形变换

思路一:计算下标序号。/** * @Auther: Mason * @Date: 2020/07/23/15:35 * @Description: *//*将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L C I R E T O E S I I G E D H N之后,你的输出需要从左往右逐行读取,产生出一.

2020-07-23 18:11:23 132

原创 【LeetCode】33. 搜索旋转排序数组

就是二分查找的思路。稍加变式而已。/** * @Auther: Mason * @Date: 2020/07/23/9:45 * @Description: *//*假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。 */.

2020-07-23 11:06:07 214

原创 Jedis 事务操作

package com.mason;import com.alibaba.fastjson.JSONObject;import redis.clients.jedis.Jedis;import redis.clients.jedis.Transaction;/** * @Auther: Mason * @Date: 2020/07/22/17:13 * @Description: */public class TestTX { public static void main(S

2020-07-22 17:23:25 180

原创 【LeetCode】剑指 Offer 11. 旋转数组的最小数字

思路一遍历。复杂度为O(n)/** * @Auther: Mason * @Date: 2020/07/22/9:04 * @Description: */public class Solution { public int minArray(int[] numbers) { int len = numbers.length; if (len == 1) return numbers[0]; // 如果第一个数小于最后一个数,肯定第一.

2020-07-22 09:50:13 126

原创 redis 事务 乐观锁

模拟两个线程,数字是执行顺序。发现由于右边线程的参与。左边线程受到了影响。用watch命令 监视money 相当于乐观锁。在执行的时候,看看有没有人修改了这个值,没有的话,执行;被修改了的话,执行失败。...

2020-07-21 17:27:09 128

原创 【LeetCode】95. 不同的二叉搜索树 II

/** * @Auther: Mason * @Date: 2020/07/21/9:21 * @Description: */// 输入一个正整数n// 输出以1,2,3....n 为节点的二叉搜索树。// 左边的结点都小于根节点,右边的结点都大于根节点。public class Solution { public List<TreeNode> generateTrees(int n) { if (n == 0) return new LinkedL.

2020-07-21 10:17:05 98

原创 【LeetCode】1362. 最接近的因数

思路一我找出所有的相乘等于num+1或者num+2的 两个数。更新他们的距离。从而获得最终的结果。/** * @Auther: Mason * @Date: 2020/07/20/15:24 * @Description: */public class Solution { public int[] closestDivisors(int num) { int[] res = new int[2]; double range = Math.sqrt(.

2020-07-20 15:58:18 231

原创 【LeetCode】55. 跳跃游戏

第一种思路:使用深度优先遍历的方法。假设第一个数为3。我就去序号为3的位置。。。。,去序号为2的位置。。。,去序号为1的位置。。。 最后看看 能不能到最后一个位置。结果速度很慢。/** * @Auther: Mason * @Date: 2020/07/20/10:02 * @Description: */// 仍然是一道 深度优先遍历的题目。public class Solution { boolean[] mark; public boolean canJum.

2020-07-20 13:49:46 105

原创 【LeetCode】841. 钥匙和房间

思路:深度优先遍历即可。/** * @Auther: Mason * @Date: 2020/07/20/9:28 * @Description: */public class Solution { public int count; // 计数有几个房间现在可以打开 public boolean[] mark; // 标记某个房间是否可以被打开。 public int size; // 屋子的总个数。 public boolean canVisitAl.

2020-07-20 09:38:56 117

原创 【LeetCode】494. 目标和

第一种思路:全部遍历。复杂度为O(2^n)/** * @Auther: Mason * @Date: 2020/07/15/11:14 * @Description: */public class Solution { private int res = 0; public int findTargetSumWays(int[] nums, int S) { // 给定一个非负整数数组 // 对于数组中的任意一个整数,你都可以从 + 或 -中.

2020-07-15 16:01:59 155

原创 【LeetCode】560. 和为K的子数组

思路一:双层循环复杂度为O(n^2),复杂度比较高。/** * @Auther: Mason * @Date: 2020/07/15/10:10 * @Description: */public class Solution { // 找到该数组中和为 k 的连续的子数组的个数 // 直观的想法是,两层循环。第一层循环遍历 子数组的起始位置。 // 第二层循环遍历 子数组的中止位置。 public int subarraySum(int[] nums, in.

2020-07-15 10:56:25 153

原创 【LeetCode】1512. 好数对的数目

比较简单的一道题目。用哈希表解决。/** * @Auther: Mason * @Date: 2020/07/15/9:29 * @Description: */public class Solution { public int numIdenticalPairs(int[] nums) { // 我的思路是,建立一个hashMap,存入,数字和次数。 // 向后遍历。如果map中有这个数。结果中增加这个数迄今出现的次数就好了。 Has.

2020-07-15 09:34:43 452

原创 【LeetCode】96. 不同的二叉搜索树

思路一我的思路是,用递归的方法。因为二叉搜索树的定义。左边的结点都小于根节点。右边的结点都大于根节点。假设排好顺序,确定左右子树的结点个数分别是多少。递归下去就可以了。/** * @Auther: Mason * @Date: 2020/07/15/9:07 * @Description: */public class Solution { // 给一个数n,问用1,2,3...n 构成的二叉搜索树有多少种。 // 可以采用递归的方法求解。 public int n.

2020-07-15 09:27:37 128

原创 【LeetCode】438. 找到字符串中所有字母异位词--------------【滑动窗口解题】

遍历,然后判断子串和目标字符串是否异位相同/** * @Auther: Mason * @Date: 2020/07/14/17:25 * @Description: */// p是要找的字符串// s是内容。public class Solution { public List<Integer> findAnagrams(String s, String p) { List<Integer> list = new LinkedList&..

2020-07-14 22:19:03 155

原创 【LeetCode】98. 验证二叉搜索树

用递归来实现。需要保证根节点左边都比根节点的数值小;根节点右边都比根节点的数值大/** * @Auther: Mason * @Date: 2020/07/14/16:37 * @Description: */public class Solution { public boolean isValidBST(TreeNode root) { return isValidBST(root, null, null); } public boolean is.

2020-07-14 17:04:54 225

原创 【LeetCode】15. 三数之和

可以用三层循环的方法,O(n^3)改进的三层循环:先进行排序,第二层和第三层循环采用两指针相遇问题。这样,复杂度为O(n^2)/** * @Auther: Mason * @Date: 2020/07/14/9:43 * @Description: */public class Solution { public List<List<Integer>> threeSum(int[] nums) { int len = nums.length;.

2020-07-14 10:29:14 134

原创 【LeetCode】139. 单词拆分

搜索回溯算法/** * @Auther: Mason * @Date: 2020/07/12/17:36 * @Description: */// 我觉得使用搜索回溯算法,进行查找public class Solution { public boolean wordBreak(String s, List<String> wordDict) { int len = s.length(); boolean res = search(s, 0,

2020-07-12 21:10:07 133

原创 【LeetCode】621. 任务调度器

官方解法:进行排序操作比如冷却时间为5。我6个一组进行排序。每次排序将剩的最多的任务放在前面。一种贪心的思想。反之,空闲碎片会更多。public int leastInterval(char[] tasks, int n) { int taskNum = tasks.length; // 一共的任务数量 int[] map = new int[26];//用来记录每一种任务的个数 for (char task : tasks) { map[task - 'A..

2020-07-11 19:20:10 106

原创 SpringBoot把配置放在配置文件中 使用配置文件的内容

配置文件想用的地方用@Value获取运行程序验证一下

2020-07-06 10:30:06 301

原创 json 包装信息 提取信息

封装信息一个jasonObject就是一个中括号JSONObject params = new JSONObject();params.put("cname", "xxx");params.put("uid", "yyy");params.put("clientRequest", new JSONObject());效果类似样value也可以放对象:效果是这样:获取信息:JSONObject jsonObject = JSONObject.parseObject(st

2020-07-03 15:16:43 304

原创 java发送http请求

代码例子:String url = "xxxxx";CloseableHttpClient httpClient = HttpClients.createDefault(); // httpclientHttpPost httpPost = new HttpPost(url); // 创建httpPost对象,传入url// 在post中增加请求头httpPost.addHeader("Authorization", "xxxxxxxxx");httpPost.addHeader("Con.

2020-07-02 15:24:00 223

原创 HttpClient CloseableHttpClient GetMethod PostMethod http

pom依赖 <!--HttpClient的依赖--> <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>3.1</version> &lt

2020-07-01 10:24:13 708

空空如也

空空如也

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

TA关注的人

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