- 博客(97)
- 资源 (18)
- 问答 (1)
- 收藏
- 关注
原创 利用grep进行文本处理
利用grep进行文本处理背景相关命令思路过程1.首先用grep过滤出数据2.拆完了肯定是要匹配下数据量是否能对3.发现数据对应不上背景需要将一份百万的数据按照一定的规格(开头以地市字符)进行数据拆分。相关命令grepwc思路根据grep的正则匹配出以hz、nb开头的数据过程1.首先用grep过滤出数据grep '^hu' aaa.txt >hu.txtgrep '^hz' aaa.txt >hz.txtgrep '^jh' aaa.txt >jh.txtgr
2022-04-15 18:32:37
998
原创 shell脚本-批量gbk转utf-8
这里写自定义目录标题背景代码碰到的问题背景原因很简单,当初工程拆分,把老代码的gbk文件原封不动的挪到了新的工程,gradle编译已经指定了options.encoding = “UTF-8” 但是还是会出现gbk乱码导致编译不成功。只怪自己太菜不会用gradle解决,只能退而求其次用shell脚本进行gbk转utf-8.代码在#!/bin/shisEnc() { local temp=`iconv -f $2 $1 1>/dev/null 2>/dev/null &
2022-03-21 19:17:48
2405
原创 问题小记:Idea之tomcat无法debug调试
记录日常开发中碰到的问题,避免下次依旧无法解决大家都知道idea,eclipse的debug都是依赖与java agent 与Debug的jmx的技术最近要开始将公司的一个webapp的老工程迁移到前后端分离工程,以前都是用eclipse+jetty运行的,今天想试试idea运行起来,不想多个ide切换来切换去,在运行tomcat期间发现存在以下报错:but has failed to stop it. This is very likely to create a memory leak. Stac
2020-12-22 00:13:28
4556
原创 多线程-服务端客户端通信场景
Java多线程进程与线程Java线程线程状态的切换同步与锁生产者与消费者模型锁与死锁多线程-条件变量Condition文章目录Java多线程前言一、场景设计1.服务端2.处理线程3.客户端二、示例代码1.服务端2.客户端3.服务端处理线程三、服务端伪异步处理-线程池总结前言多线程能应用在那些场景?例如:消息通信场景一、场景设计以下内容思路来自于 Netty权威指南(第二版) 2.1.2节中的TimeServer 1.服务端服务端创建ServerSocket监听设置的
2020-12-20 17:36:53
499
1
原创 babel开发环境报错
问题小记记录日常开发中碰到的问题,避免下次依旧无法结局最近在进行vue开发的时候,总是遇到bable的某一个module无法加载,后来通过百度后将babel的版本调整至一下 “@babel/preset-env”: “^7.8.7”...
2020-12-20 17:08:51
475
原创 多线程-条件变量Condition
Java多线程进程与线程Java线程线程状态的切换同步与锁生产者与消费者模型锁与死锁文章目录Java多线程前言一、Condition是什么?二、存款/取款示例1.设计流程2.编写代码总结前言设想一下假如我们对一个账户,进行存款与取款操作,当取款操作进行时余额不够进行等待阻塞,存款后只需要唤醒存款的线程该如何处理?一、Condition是什么?Condition是java.util.concurrent.locks包下面的一个接口,从包名上面看就能够看出是并发锁时候用的。存在以
2020-12-12 17:49:44
174
原创 锁与死锁
Java多线程进程与线程Java线程线程状态的切换同步与锁生产者与消费者模型文章目录Java多线程前言一、Lock是什么?二、锁的demo三、读写锁Demo总结前言之前我们了解过同步关键字synchronized来解决多线程共享数据的问题,在JDK1.5之后Java提供了更便捷的接口Lock来解决多线程同步问题一、Lock是什么?Lock是一个接口,存在下图的实现类下面简单介绍下Lock接口的方法lock():获取锁如果锁没有其他线程获取,则获取锁立即返回,将锁的保持
2020-12-06 17:35:22
1192
原创 生产者与消费者模型
Java多线程进程与线程Java线程线程状态的切换同步与锁文章目录Java多线程前言一、生产者消费者模型是干什么的?二、生产者三、消费者四、仓库总结前言今天来学习经典的生产者消费者模型提示:以下是本篇文章正文内容,下面案例可供参考一、生产者消费者模型是干什么的?生产者消费者模型是存在一批生产者,一批消费者,一个仓储,同时按以下条件进行生产消费1.生产者只有在仓储没有满的时候进行生产,仓储满的时候进行等待2.消费者只有在仓储存在货物的时候才进行消费,仓储空了则进行等待3.消费
2020-12-02 23:17:19
445
原创 同步与锁
Java多线程进程与线程Java线程线程状态的切换文章目录Java多线程前言一、为什么要同步?二、同步总结前言当多线程访问一个公共变量会出现什么情况呢?一、为什么要同步?当有一个线程A,线程B访问同一个变量,不做任何处理会出现什么情况呢?模拟一个线程a1,一个线程a2操作同一对象demo进行数据修改代码如下(示例):public class ThreadDemo { public class Demo{ private int i = 100;
2020-12-01 23:11:05
285
原创 线程状态的切换
Java多线程进程与线程Java线程文章目录Java多线程前言一、线程的状态二、线程状态的切换1.线程的创建2.由创建到可运行3.阻止线程的运行总结前言上文讲述了Java的线程相关的Thread和Runnable,今天来学习线程的状态切换一、线程的状态线程的生命周期新建<创建了线程的实例但是没有执行start()方法>就绪状态<当线程有资格运行,但是调度器还没有把它选为运行状态>运行状态等待/阻塞/睡眠<线程处于有资格运行的状态,线程仍然是活的
2020-11-30 22:42:50
556
原创 Java线程
系列文章目录[进程与线程](https://editor.youkuaiyun.com/md/?articleId=110295236)文章目录系列文章目录前言一、Runnable接口二、Thread类一、run方法二、常用的构造函数三、启动和使用一、 继承Thread类二、实现Runnable接口总结前言前一篇讲了进程与线程之间的关系,这次讲讲如何在Java代码中创建一个线程一、Runnable接口 Runnable是线程的基础,本质是一个带有抽象方法run()的接口二、Thread类
2020-11-29 22:36:38
390
2
原创 进程与线程
进程与线程前言进程线程用户线程守护线程总结前言在学习Java并发之前,得清楚进程和线程的关系进程在操作系统中,进程就是一个个的应用程序,比如一个可执行的exe程序,一个可执行的jar,在我们熟悉的windows操作系统中打开任务管理器可以默认的tab页就是进程在win上面可以用cmd的netstat -ano命令查找是什么进程(pid)占据了那个端口线程线程是指进程中的一个执行流程,一个进程中可以运行多个线程。例如以下java程序public static void main(String
2020-11-28 23:03:32
283
原创 No Spring Bean annotating Dubbo‘s @Service was found under package
问题描述:No Spring Bean annotating Dubbo’s @Service was found under package原因分析:在dubbo服务启动的时候一直无法扫描到Service注解,通过控制台的ServiceAnnotationBeanPostProcessor类查找133行//注册指定包路径下的贴有Service的Beanscanner.scan(packageToScan);//查找@Service的所有BeanDefinitionHolders,无论@Comp
2020-09-14 23:17:21
3897
原创 Docker之Mysql安装
Docker安装Mysql一、搜索Mysql镜像二、下载mysql镜像二、启动mysql镜像三、连接数据库一、搜索Mysql镜像我们启动一个mysql首先需要一个mysql镜像,我们可以自己手动制作一个mysql镜像,最快捷的还是从docker镜像库中查找一个可以使用docker search 命令查找你需要的内容注意先检查是否启动了docker服务如果没启动执行docker search mysql会报Cannot connect to the Docker daemon at unix:/
2020-08-23 16:43:56
224
原创 SpringBoot接入Redis
最近在学习SpringBoot,想尝试将SpringBoot和Redis结合在一起1.引入SpringBoot Redis启动包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <versi
2020-08-19 23:54:13
588
原创 线程池ThreadPoolExecutor--Executors.newFixedThreadPool()
线程池ThreadPoolExecutor我们可以使用Executor工厂类Executors快速的获取一个ThreadPoolExecutor ExecutorService executorService = Executors.newFixedThreadPool(10);但是如果我们安装了Alibaba Java Coding Guidelines插件会提示我们线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让写的
2020-08-18 23:57:47
4035
原创 Idea Debug技巧之断点条件设置
在刷LeetCode的时候递归层数多的时候总是很苦恼,正好有次在看博客的时候发现Idea调试的时候是支持语句判断的,于是就尝试了下,于是发现中间有坑1.设置一个断点Idea设置断点很简单,在你想要停止的地方左边单击一下,例如以下:public static void main(String[] args) { int j = 10; for (int i = 0;i<10 ;i++){ System.out.println(i);
2020-08-09 21:29:35
11734
1
原创 LeetCode每日打卡 210. 课程表 II
210. 课程表 II今天这道打卡涉及到有向图的问题,题的难点有两个,一个是如何构建一个图,第二个是必须要把前置课程上完才能够学习后续课程。首先解决问题一如何构建一个图:题目中的输入流:[[1,0],[2,0],[3,1],[3,2]],我们根据前置课程构建图0123可以使用HashMap保存图的映射关系 Map<Integer,List<Integer>> alls = new HashMap<>(); for (int[] item:prerequis
2020-05-17 15:43:39
251
原创 CS-Notes打卡第九天--Vector
VectorVector集合与Arraylist相似,但是Vector是线程安全的。同步Vector集合使用synchronized关键字进行同步,达到线程安全,例如add,remove方法 public synchronized boolean add(E e) { modCount++; add(e, elementData, elementCount); return true; } public synchronized void a
2020-05-08 23:35:55
189
原创 CS-Notes打卡第八天--ArrayList
CS-Notes五一过完了又要开始快乐的打卡生活ArrayList1.概览ArrayList是基于数组的动态数组,支持快速随机访问(实现了RandomAccess接口),默认的大小是10,提供了三种构造方法。同时复写了copy,remove等在AbstractList抽象类中抛UnsupportedOperationException异常的方法。/** *基本类型 */transi...
2020-05-06 23:38:24
157
原创 LeetCode每日打卡验证二叉搜索树--中序遍历Or递归
98. 验证二叉搜索树????,其实之前做过类似的题,但是一开始的思路还是没想到中序遍历,只是想到递归判断当前节点是否大于等于最大值或者小于等于最小值,针对于左子树,那么最大值应该是当前节点值,右子树那么最小值应该是当前值。根据这个思路就可以开始撸代码了。 public boolean isValidBST(TreeNode root) { //用long的原因是居然存在测试用例用Int的最大值...
2020-05-05 11:22:53
175
原创 CS-Notes打卡第七天---容器部分
CS-Notes地址容器中的设计模式1.迭代器模式让用户通过特定的接口访问数据,而不需要了解容器的内部数据结构。回顾之前的内容,在Collection接口的继承关系上面我们看到了Collection接口是继承于Iterable接口的。然后看下Iterable接口的定义:(forEach增强for循环,是在Jdk1.5之后引进,其底层还是迭代器遍历)其中一个方法是返回Iterato...
2020-05-04 22:25:13
158
原创 优先队列+滑动窗口---5402. 绝对差不超过限制的最长连续子数组
5402. 绝对差不超过限制的最长连续子数组昨晚刚看CS-Notes的容器部分知道了Java还有个PriorityQueue(优先队列),没想到今天 的leetCode周赛就果断出了相关题,依旧喜闻乐见不会做。解题方法:定义左右指针指向当前滑动窗口的两端int left = 0;int right = 0;然后定义两个优先队列,一个单调递增,一个单调递减以获取当前窗口的最大最小值 ...
2020-05-03 12:45:04
199
原创 CS-Notes打卡第五天Java基础最后部分
CS-Notes反射每个类都有一个Class对象,包含了类有关信息。类加载相当于Class对象的加载,类在第一次使用的时候才加载到JVM当中。也可以使用Class.forName(“com.mysql.jdbc.Driver”)方法加载类,最后返回一个mysql的Jdbc驱动类对象。反射可以提供运行时的类信息,并且这个类可以在运行时才加载进来,甚至在编译时期该类.class不存在也能加载进...
2020-04-29 23:54:25
152
原创 CS-Notes打卡第四天Object、继承
CS-Notes地址Object正如Object的javaDoc描述,Object类是一切类的父类Class {@code Object} is the root of the class hierarchy.Every class has {@code Object} as a superclass. All objects,including arrays, implement th...
2020-04-28 22:57:03
287
原创 CS-Notes打卡第三天、运算、关键字
最近同事陆陆续续都开始离职了,心情复杂,高不成低不就或许就是最可怕的。运算引用传值在Java当中对象就等同于C++中的指针,当我们向一个方法传递一个对象,实际上是将对象的地址以值得形式传递到方法中得形参。例如一下代码:public static void main(String[] args) { List<Integer> arryas = new Array...
2020-04-27 22:58:08
209
原创 CS-Notes打卡第二天---String
今天是CS-Notes打卡的第二天,与君共勉添加链接描述String不可继承String类被修饰为final表示常量,不能被继承,由此类推其他基本类型对应的包装类也不能被继承String基本类型jdk1.8 底层由char数组构建 private final char value[];jdk1.9之后 底层由byte数组和coder编码格式表示private final ...
2020-04-26 23:06:42
276
原创 CS-Notes日记---Java基础数据类型
为了给跳槽做准备,将CS-Notes的学习记录在这里,希望九月能找个好工作。CS-Notes地址基础数据类型与包装类型因为int,short,float,long,double字节的最高位是符号位,因此正数的范围是(byte举例:)00000000-01111111负数范围:10000000-11111111所以正数最大值是2^7-1, 负数最小值是-2^7将基本类型转换成对应的包...
2020-04-25 22:38:34
217
原创 Leetcode 1162. 地图分析 200. 岛屿数量
今天LeetCode的每日打卡是题200 岛屿数量岛屿数量首先分析下岛屿数量的题意。给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/number-of-islands...
2020-04-20 23:23:59
398
原创 LeetCode LCP 09. 最小跳跃次数
题目地址:LeetCode LCP 09. 最小跳跃次数首先理解题意:有N个小球从[0]到[n-1]排序,然后每个小球都可以跳跃到当前位置记录的值上,同时可以任意的跳跃到左边,当然0的时候只能向右跳跃。例如:jump = [2, 5, 1, 1, 1, 1] ,当小球在0的位置上时,只能够向右跳2位即达到jump[2]上当到达a[2]的时候就可以左右横跳了,当然只能向右一位。这个时候我们可以...
2020-04-19 23:35:59
1045
原创 HashMap从Threshold到Integer numberOfLeadingZeros
为了易于理解HashMap的resize方法,我觉得还是先得弄懂Threshold是怎么来的。首先看Threshold的JavaDoc /** * The next size value at which to resize (capacity * load factor). * * @serial */在下一次resize时候的数组长度大小的值(c...
2020-04-18 23:30:24
303
原创 HashMap之putMapEntries、putVal
putMapEntriesputMapEntries使用的是默认修饰符,因此只能被本类或者该包下的类访问到 /** * Implements Map.putAll and Map constructor. * 实现了Map.putAll方法 和Map的构造方法 * * @param m the map * @param evict false ...
2020-04-08 22:47:48
795
原创 HashMap(一)
继承关系HashMap的继承关系不算复杂,继承了AbstractMap,实现了Map、Serializable、cloneable三个接口常量 静态方法 属性HashMap底层的数据结构在JDK1.8之前是基于数组+链表,在JDK1.8之后是数组+链表/红黑树HashMap的常量:16、2^30、0.75f、8、6、64 /** * 1左移四位表示16(默认的初始容量), 容量的...
2020-04-07 23:06:23
208
1
原创 从HashMap的comparableClassFor方法看反射
HashMap的comparableClassFor方法主要是为了判断传入的Compare类是否符合class C implements Comparable <C>,如果符合则返回C,不符合则返回null下面通过一个例子来看看:public class ComparableClassForStudy{ public static void main(String[]...
2020-04-06 00:03:04
270
原创 LinkedList
继承关系Arraylist是以数组实现集合,而LinkedList是以双向链表实现的集合,LinkedList的继承关系如下:Linkedlist与Arraylist的区别有:1.Arraylist直接继承AbstractList,而Linkedlist是继承的AbstractSequentialList2.Arraylist实现了RandomAccess接口可以直接用foreach遍历...
2020-04-01 23:14:39
226
原创 Arraylist
1.继承关系从图中可以看出Arraylist继承AbstractList类(AbstractList继承了AbstractCollection类,同时实现了list类),同时实现了Serializable、List(继承了collection接口,collection接口继承了Iterable接口)、Cloneable、RandomAccess(快速随机访问)2.属性重要的属性Obj...
2020-03-28 23:16:50
142
原创 三元运算符,自动类型提升
刷牛客网的时候碰到了一个三元运算符的问题:Object o1 = true ? new Integer(1) : new Double(2.0);System.out.print(o1);没想到最后输出的是1.0,才发现三元运算符有以下情况 //两个操作数不可以转换,返回对应的对象类型 Object o = true?1:"a"; System.out....
2020-03-22 23:56:52
827
1
Activiti BPMN 2.0 designer
2016-05-22
自己写的安卓天气软件
2016-01-26
httpd-2.2.21-win32-x86-no_ssl
2016-01-19
Tomcat6 32位
2016-01-04
Tomcat8 64位
2016-01-04
Tomcat9 32位
2016-01-04
Tomcat9 64位
2016-01-04
Tomcat8 32位
2016-01-04
Tomcat7 32位
2016-01-04
Tomcat 7 64位
2016-01-04
Tomcat 32位
2016-01-04
AJAX POST请求参数不能够提交到后台
2016-05-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人