摘要: //直接生成list并添加元素 List<Integer> list=Arrays.asList(1,2,3); //生成list的深拷贝 List<Integer> list_new=new ArrayList(list); //将listTemp转换为int[][] List<int[]> li 阅读全文
posted @ 2020-09-16 09:26 程序杰杰 阅读(137) 评论(0) 推荐(0) 编辑
摘要: java中List如果想动态删除元素的话,我们可以使用迭代器,但是切记要使用迭代器删除,而不能直接使用list.remove(next),这样写会报并发修改异常的。 //通过迭代器可以直接删除哦 public List<String> updateList(List<String> list){ I 阅读全文
posted @ 2020-09-14 21:42 程序杰杰 阅读(3437) 评论(0) 推荐(0) 编辑
摘要: public ListNode reverseList(ListNode head){ ListNode res=null; ListNode next=null; while (head!=null){ //记录下个位置 next=head.next; //将这个连接进来 head.next=re 阅读全文
posted @ 2020-09-13 14:32 程序杰杰 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 中间断过,这次终于到了连续的30天啦,还要继续努力啊 \(^o^)/~ 阅读全文
posted @ 2020-09-12 08:05 程序杰杰 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 首先锁升级的过程:无锁->偏向锁->轻量级锁->重量级锁 使用实际案例举例子,来帮助大家理解: 我们要共享obj对象,加入现在只有一个线程A,线程id为10,此时它在执行前观察一下obj对象头中占用它的线程id是不是没有(也就是没人占用这个锁),如果是,则使用CAS将它改为10,当A执行完后看看现在 阅读全文
posted @ 2020-09-10 17:12 程序杰杰 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 阻塞式IO:一个线程处理一个请求时,若内核还未处理完,则会一直阻塞,知道准备就绪 非阻塞式IO:一个线程处理一个请求时,若内核未处理完则返回error,并未阻塞,我们需要不断循环读取,直到不是error,说明可以了。 IO多路复用:程序注册一组socket文件描述符给操作系统,表示“我要监视这些fd 阅读全文
posted @ 2020-09-10 16:46 程序杰杰 阅读(139) 评论(0) 推荐(0) 编辑
摘要: https://blog.csdn.net/luoweifu/article/details/8297084 参考上方博主的思路,使用双向链表和hashMap来实现,但是觉得hashMap来回改,效率也没提升多少吧 整个输入以及过程可以参考上方博主给的思路,理解了! 如输入以下序列时:4,7,0,7 阅读全文
posted @ 2020-09-09 08:59 程序杰杰 阅读(182) 评论(0) 推荐(0) 编辑
摘要: //前序遍历 /** * 根-左-右,所以入栈的时候要相反,有右节点则加入右节点,有左节点则加入左节点,每车循环的时候,弹一个 */ public ArrayList<Integer> preorderTraversal(TreeNode root) { ArrayList<Integer> lis 阅读全文
posted @ 2020-08-30 21:50 程序杰杰 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 滑动窗口首先定义 int l=0,r=0; 然后r一定每次循环都要往后移一位,至于左窗口,我们在内部考虑,需要左窗口移动的时候,我们在一次循环内,直接移动到可以的位置,然后再计算,r++; while(r<len){ count+=arr[r]; while(不满足条件的时候){ l++; coun 阅读全文
posted @ 2020-08-24 16:25 程序杰杰 阅读(267) 评论(0) 推荐(0) 编辑
摘要: //dp[i]是回文就是0,否则就是Math.min(dp[j]+(j+1到i之间是不是回文?0:它需要分割的最小次数)+1); 当前dp[i]图片中应该是Math.min(),我着急写成max了,大家注意啊! 1.若是回文串,则分割大小为02.若不是回文串,则默认大小给它的索引i,代表每一个词分一 阅读全文
posted @ 2020-08-24 16:06 程序杰杰 阅读(504) 评论(0) 推荐(0) 编辑
摘要: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. private static 阅读全文
posted @ 2020-08-21 21:08 程序杰杰 阅读(159) 评论(0) 推荐(0) 编辑
摘要: import java.util.*; public class Main05_1{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int L = 阅读全文
posted @ 2020-08-21 15:19 程序杰杰 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 注释清晰,思路引导版: import java.io.*; import java.util.*; public class Main{ static class Addr{ String addrStr; int mask; int addr; public Addr(String addrStr 阅读全文
posted @ 2020-08-20 22:42 程序杰杰 阅读(323) 评论(0) 推荐(0) 编辑
摘要: /** * System.out.println(Integer.parseInt("B2",16));//178 * System.out.println(Integer.toHexString(178));//b2 * int k = 17; * System.out.println(Integ 阅读全文
posted @ 2020-08-19 15:42 程序杰杰 阅读(592) 评论(0) 推荐(0) 编辑
摘要: 字符串的是不将他们转化为整型后计算,而且一般我们给出的字符串可能特别长,长到我们转化为Double都无法计算,我们只能逐位计算,有进位则进位计算,如下: //求出两个数字字符串的和 private String add(String str1, String str2) { StringBuilde 阅读全文
posted @ 2020-08-09 16:24 程序杰杰 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 这个功能可是恶心死我了,上网百度要么关闭自适应亮度,要么关闭这那的,要么电源选项下,可是我这里一个都找不到!今天我是无论如何都受不了了,终于发现了如何关闭它,分享给大家~ 1.大家可以在搜索栏搜索【Intel】或者【英特尔】,如果有相关的提示显卡点卡即可 2.点开后的界面已经和win7不一样了,没有 阅读全文
posted @ 2020-08-03 07:45 程序杰杰 阅读(853) 评论(0) 推荐(0) 编辑
摘要: 通过yum install docker安装的docker,我们会在/etc/docker下找到 因此直接定位到:/etc/docker,其中有daemon.json文件 如果没有自己创建一个,然后添加其中内容为: { "registry-mirrors":["https://almtd3fa.mi 阅读全文
posted @ 2020-08-02 22:14 程序杰杰 阅读(925) 评论(0) 推荐(0) 编辑
摘要: 总的配置类: @Configuration public class MyMvcConfig implements WebMvcConfigurer { @Bean //...将类丢入到容器中,注册成组件 } 首页配置 所有的静态资源都是用thymeleaf接管,就是导入命名空间,然后对于地址使用@ 阅读全文
posted @ 2020-07-25 23:53 程序杰杰 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 对于代理模式,分为静态代理与动态代理,虽然静态代理有诸多好处,但是有一点:代码量翻倍就不好了,因此当我们需要代理大量对象的时候,静态代理显然不能再使用了,为了适应这种情况,衍生出动态代理。 动态代理实现方式又有:1.jdk-Proxy与InvocationHandler 2.cglib 3.java 阅读全文
posted @ 2020-07-22 08:24 程序杰杰 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 简单的学习完Mybatis来一个系统性的总结,来一个提问式的吧~~ Q:what is mybatis A:一款优秀的持久层框架,支持自定义SQL、存储过程以及高级映射等等 Q:IDEA如如何引入呢 A:首先pom中引入mybatis,mysql,junit这些必要的包,参考官网书写util类,编写 阅读全文
posted @ 2020-07-21 07:05 程序杰杰 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 今天开始学习Mybatis,环境搭建一步步遇到问题,一点点解决,还可以,在学到CRUD的时候,发现对于SqlSession每次都需要创建一个,最后释放,很是麻烦,于是想一想该怎么优化代码,同时可以满足开闭原则呢?OK话不多说,let's think about it; 对于Mybatis的使用,从最 阅读全文
posted @ 2020-07-19 11:14 程序杰杰 阅读(578) 评论(0) 推荐(1) 编辑
摘要: 题目2:包粽子, 四个数n, m, c0, d0, 一共n 克面粉, m种馅料 然后m行,每行四个数ai, bi, ci, di, ai 表示一共多少克该种馅料 每个粽子包法, bi克第i种馅料 + ci 克面粉, 收益di, 或者 c0 克面粉, 不包馅料, 收益d0 求最大收益 参加了阿里笔试, 阅读全文
posted @ 2020-07-18 09:22 程序杰杰 阅读(344) 评论(0) 推荐(1) 编辑
摘要: 经过一段时间以来,学习了很多,但在许多大佬眼里我还是个菜鸟,得不到认可还是有点心酸的,加油吧,毕竟接触Java语言实践还不长,知识还是靠积累嘛。 接触的晚,就要比别人更努力!想成功,就别怕吃苦! 一步一个脚印继续出发,菜就学习,为了什么?为了以后不再菜喽。 这篇博客权当为自己加油、打气了,平凡的生活 阅读全文
posted @ 2020-07-14 22:12 程序杰杰 阅读(128) 评论(0) 推荐(0) 编辑
摘要: //动态规划 public boolean match(char[] str, char[] pattern){ //a.*vc* int sLen=str.length,pLen=pattern.length; boolean[][] dp=new boolean[sLen+1][pLen+1]; 阅读全文
posted @ 2020-07-08 08:15 程序杰杰 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 先说明一下:本体正确解法使用BFS(广度优先),最下方的是关于BFS的思路 BFS与DFS最大的区别在于: BFS首先搞同一层,然后从同一层一个个出发,找下一层 DFS首先搞一个,一直搞到底,然后再搞下一个,也就是回溯 接下来,我首先分析一下,我的整个思路的分析~~ ==超时的个人思路:= 对于我个 阅读全文
posted @ 2020-07-02 20:50 程序杰杰 阅读(1011) 评论(0) 推荐(0) 编辑
摘要: 思路为: 1->2是质数,所有是偶数的都是2的倍数一定不是质数(除了2,偶数一定不是质数,因此我们不需要考虑任何偶数) 2.->从3开始考虑到n的奇数,其中某个数,如3的所有整数倍的数都不是质数,我们需要找到不小于n为止,即全部考虑到 ->这样的话,当我们遍历到9的时候,因为9不是第一次出现,他已经 阅读全文
posted @ 2020-06-25 21:34 程序杰杰 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 1.暴力匹配法+剪枝操作 //从当前位置出发,从后向前找 //找的位置跨度不能小于maxLength 因为小于它的话,即使是,也不是最长的了 //此定义为暴力匹配法,虽然经剪枝操作,时间复杂度也仍为n^3 public String longestPalindrome(String s) { if( 阅读全文
posted @ 2020-06-20 05:47 程序杰杰 阅读(216) 评论(0) 推荐(0) 编辑
摘要: private static int kmpDemo(String str1,String str2){ if (str2==null||str1==null||str1.length()-str2.length()<0){ return -1; } //首先构建字符匹配表 int[] matchT 阅读全文
posted @ 2020-06-17 12:13 程序杰杰 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 冒泡: public void bubbleSort(int[] arr){ for(int i=arr.length-1;i>0;i--){ for(int j=0;j<i;j++){ if(arr[j]>arr[j+1]){ swap(arr,j,j+1); } } } } //也可以 publ 阅读全文
posted @ 2020-06-10 21:06 程序杰杰 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 回溯法(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。 对于八皇后和矩阵与寻找字符串也是如此,我一个个分析,为了自己 阅读全文
posted @ 2020-05-25 10:19 程序杰杰 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 链表的类如下: class ListNode { public int val { get; set; } public ListNode next { get; set; } public ListNode(int _val) { val = _val; } } 方法一: 使用递归来创建,每次只选 阅读全文
posted @ 2020-05-14 15:41 程序杰杰 阅读(1889) 评论(0) 推荐(0) 编辑
摘要: 1.斐波那契数列 (推荐使用动态规划的,当输入n=40的时候就能明显的感觉出递归的不足了) 这个递归思想是最简单的了static int feiboArr(int n) { if (n == 0) { return 0; } else if (n==1) { return 1; } else if 阅读全文
posted @ 2020-05-11 14:32 程序杰杰 阅读(253) 评论(0) 推荐(0) 编辑
摘要: //去重(当前值所在的索引,和该值初次出现的索引是否匹配) list = list.Where((x, x_index) => x_index==(list.FindIndex(y=>y==x))).ToList(); 这个虽然不难,但是有的时候感觉就在遗忘的边缘,趁着能想起来,给写一下吧 阅读全文
posted @ 2020-05-08 14:16 程序杰杰 阅读(2100) 评论(0) 推荐(0) 编辑
摘要: static IEnumerable<string> foo(string metachars, int i) { var query = metachars.Select(x => x.ToString().AsEnumerable()); while (query.First().Count() 阅读全文
posted @ 2020-05-08 10:34 程序杰杰 阅读(1067) 评论(0) 推荐(0) 编辑
摘要: set SERVEROUTPUT ON --运行这个才有结果,否则书写pl\sql代码没有输出结果 --declare --声明的变量、类型、游标 begin --程序执行部分(类似main()方法) dbms_output.put_line('hello word');--相当于Console.W 阅读全文
posted @ 2020-04-27 13:36 程序杰杰 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 对于死锁问题相信大家都是很头疼的,为什么不要使用外键呢?最简单的回答就是太容易产生死锁了。 经过个人的测试,我发现外键删除的时候,是按照表会话的顺序执行的,也就是说如果只有一个事务,只要子表删掉外键表的项,外键表就可以删除,但是如果同时有多个事务,这就难说了,具体举例子如下: 首先我们创建表并创建数 阅读全文
posted @ 2020-04-24 09:53 程序杰杰 阅读(981) 评论(0) 推荐(0) 编辑
摘要: (本篇文章为本人学习记录,没有写的很规范,仅供本人学习期间记录使用),也没有记录的特别全,有些我也没有写进来,熟悉一下,以后用到不会就百度吧。 DML(data manipulation language)数据操纵语言:就是我们最经常用到的 SELECT、UPDATE、INSERT、DELETE。 阅读全文
posted @ 2020-04-22 09:39 程序杰杰 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 因为扩展方法很好用,本人也是一段时间没用了,差点忘记了,在此做个记录 创建扩展方法需要注意的是: 1.位于同一个命名空间下 2.静态类 3.静态方法 4.使用this构造参数 static class MylistExtensionMethod { /// <summary> /// 扩展已经封闭的 阅读全文
posted @ 2020-04-11 07:31 程序杰杰 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 本文分为两部分,首先说明什么是协变与逆变,之后使用C#自带使用逆变的Action等进行实例演示。 协变与逆变是针对于泛型而言的,为了更加清楚的说明问题,首先我构造两个类如下: class Animal { } class Cat : Animal { } 很简单,Animal为基类,Cat为继承的子 阅读全文
posted @ 2020-04-10 17:44 程序杰杰 阅读(1207) 评论(0) 推荐(0) 编辑
摘要: 两种方法(做个记录) 1使用delegate private delegate void SetTextDelegate(TextBox tb, Form form, string str); public void SetText(TextBox tb,Form form,string str) 阅读全文
posted @ 2020-04-01 09:23 程序杰杰 阅读(503) 评论(0) 推荐(0) 编辑