- 博客(131)
- 资源 (3)
- 收藏
- 关注
原创 JSQLParser 部分解析column以及condition
1、把需要筛选的字段和条件分开,目前未支持case when以及自定义函数,实现如何下:VerifySqlLegitimacyServiceImpl:/** * File Name:VerifySqlLegitimacyServiceImpl.java * Date:2018年9月18日上午8:52:27*/import java.io.StringReader;impo...
2018-10-04 10:37:59
5889
1
原创 Docker Ubuntu Install
1、添加docker源sudo cat >/etc/apt/sources.list.d/docker-main.list<<EOFdeb [arch=amd64] http://mirrors.aliyun.com/docker-engine/apt/repo ubuntu-xenial main EOF 2、Add Docker’s official ...
2018-10-04 09:42:22
754
转载 cmd下命令提示符下杀进程主要有三种方法
1、用taskkill命令 1.taskkill /im 进程名称 示例:用taskkill /im tomcat7.exe命令关闭tomcat。 2.taskkill /pid[进程码] -t(结束该进程) -f(强制结束该进程以及所有子进程) 注:有两种方法查进程的PID码: 1.在命令行下用tasklist命令查出进程的PID码...
2018-08-11 08:55:22
1014
原创 jar包下载网址
http://www.java2s.com/Code/Jar/a/Downloadautomatonjar.htm提供各种jar下载
2014-06-23 11:10:43
674
原创 Java并发工具箱:CountDownLatch与CyclicBarrier使用指南
摘要:CountDownLatch与CyclicBarrier核心区别 CountDownLatch是一次性同步工具,主线程通过await()等待其他线程调用countDown()减计数至零后继续执行,适用于单次事件等待(如初始化完成)。CyclicBarrier是可循环使用的屏障,线程调用await()相互等待,达到指定数量后统一释放并支持回调,适用于分阶段多线程协作(如迭代计算)。关键差异: 重置性:CountDownLatch不可重置,CyclicBarrier可自动重置; 用途:前者主线程等待子任务
2026-04-20 22:53:11
118
原创 Spring Boot 3 + JDK 17:新一代微服务架构最佳实践
本文介绍了SpringBoot3与JDK17的技术选型优势及实施要点。SpringBoot3基于Spring6开发,专为JDK17+优化,支持GraalVM原生镜像编译,显著提升启动速度和内存效率。技术架构包含四大核心模块:1)采用starter依赖简化配置,集成JakartaEE9+;2)通过WebFlux支持响应式编程;3)利用SpringNative实现GraalVM编译优化;4)整合SpringSecurity6保障安全。实施建议包括:使用HikariCP连接池、JUnit5测试框架,以及通过Doc
2026-04-20 17:11:51
140
原创 深入理解 Java 并发编程:线程安全、锁机制与 volatile 的底层原理
摘要:线程安全需满足原子性、可见性、有序性,通过synchronized、volatile、锁机制实现。Java锁分为悲观锁(synchronized)和乐观锁(CAS),synchronized基于对象头MarkWord实现锁升级,ReentrantLock支持可中断和公平模式。volatile通过内存屏障保证可见性和有序性。常见并发问题包括竞态条件、死锁等,可通过原子类、超时机制解决。优化手段含减小锁粒度、无锁编程和线程池调优,底层依赖MESI协议和CAS指令实现硬件支持。
2026-04-20 17:10:07
109
原创 Java 性能调优实战:从 JVM 内存模型到垃圾回收算法优化
《JVM内存优化与性能调优要点》 摘要:JVM性能调优需重点优化内存模型与GC策略。堆内存配置应将Xms/Xmx设为相同值,合理设置新生代/老年代比例(1:2或1:3)及Survivor区比例(~8)。GC算法选择需结合场景:吞吐量优先用Parallel组合,低延迟用G1/ZGC。TLAB机制可优化内存分配,大对象直接进入老年代。通过GC日志分析定位问题,关注FullGC频率和停顿时间。代码层面应避免重复创建对象,使用对象池,及时释放资源,并谨慎使用finalize方法。软/弱引用适用于缓存但需及时清理。整
2026-04-20 17:09:01
313
原创 Docker 容器化开发:解决“在我电脑上能跑”的终极方案
Docker容器化开发通过标准化环境配置解决了"开发环境不一致"问题。核心方法包括:使用Dockerfile定义基础环境,通过docker-compose编排多服务,采用绑定挂载实现代码实时同步,并利用多阶段构建优化生产镜像。还提供了时区调整、文件权限处理等常见问题解决方案,以及持续集成部署方案。通过docker stats/logs和Prometheus实现容器监控,确保从开发到部署的全流程一致性。
2026-04-20 16:32:30
264
原创 打造高效Linux开发环境:Tmux + Zsh + Neovim
本文介绍了终端开发环境的集成配置方案。首先配置Tmux实现高效分屏和快捷键绑定,包括鼠标支持和状态栏优化。其次集成Zsh与Oh My Zsh插件管理,推荐使用Powerlevel10k主题。然后详细说明Neovim的现代化配置,包括Lazy插件管理器和LSP自动补全设置。最后提供开发环境集成技巧,涵盖Tmux与Neovim协同、Zsh快捷命令、性能优化、会话持久化以及终端主题统一方案,推荐使用NerdFont字体和gruvbox颜色主题保持一致性。
2026-04-20 16:30:50
248
原创 开源贡献指南:如何给Apache或Linux内核提PR?
开源项目贡献指南:了解Apache和Linux内核的不同贡献流程。Apache项目通常通过GitHub提交PR并签署CLA,而Linux内核采用邮件列表提交补丁。贡献步骤包括:设置开发环境、选择Issue、编写代码/文档、提交更改并响应审查。Apache使用标准Git流程,Linux内核需用git format-patch生成补丁邮件提交。贡献者需遵循项目规范,保持专业态度应对多次审查迭代。
2026-04-20 16:27:30
361
原创 java 大数比较
BigDecimal test01 = new BigDecimal("1234567890987654321.1000"); BigDecimal test02 = new BigDecimal("1234567890987654321.1"); System.out.println("-----1 >>>>>...
2019-01-07 16:04:34
2032
原创 Java Map 集合根据value复杂排序
import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Map.Entry;import java.u...
2019-01-03 08:53:30
733
转载 oracle split去逗号,行列转换
转载1.针对 '1','2','3','4','5'(逗号在字符串外面) SQL> SELECT COLUMN_VALUE FROM TABLE(SYS.ODCIVARCHAR2LIST('1','2','3','4','5')); COLUMN_VALUE -------------------------------------------------...
2018-12-20 09:06:30
729
原创 k8s
etcd集群搭建下载二进制软件包https://github.com/coreos/etcd/releases https://github.com/coreos/etcd/releases/https://github.com/etcd-io/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz解压将两个...
2018-11-17 17:38:48
298
转载 etcd 集群安装
etcd集群搭建下载二进制软件包https://github.com/etcd-io/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz解压tar -zxvf etcd-v3.3.10-linux-amd64.tar.gz将两个执行文件复制到/usr/bin/etcd和etcdctl文件复制到/usr/b...
2018-11-17 08:29:57
530
原创 Git 在线安装
获取安装包 wget -P /usr/git https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.19.1.tar.gz 解压 tar xvzf /usr/git/git-2.19.1.tar.xz -C /usr/gitcd /usr/git/git-2.19.1 编译 ./configu...
2018-10-09 15:49:29
450
原创 安装maven
安装wget指定 ubuntu使用 apt install wget Centos 使用 yum -y install wget 在线下载安装包 地址如下:wget -c -P /usr/maven http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-...
2018-10-09 15:48:56
188
原创 Docker 在线安装Redis、Rabbitmq、Kafka
Docker安装 添加docker源 sudo cat >/etc/apt/sources.list.d/docker-main.list<<EOF deb [arch=amd64] http://mirrors.aliyun.com/docker-engine/apt/repo ubuntu-xenial mainEOF 安装curl apt ins...
2018-10-09 15:47:26
457
转载 rabbitmq_management
rabbitmq_management是管理后台的插件、我们要开启这个插件才能通过浏览器访问登录页面 进入到sbin目录下:rabbitmq-plugins enable rabbitmq_management 开启服务:rabbitmq-server start 进入管理后台 开启浏览器访问http://localhost:15672 默认userName...
2018-10-04 09:44:31
3328
原创 Teamviewer Install
Teamviewer 安装 1.下载wget -c https://download.teamviewer.com/download/linux/teamviewer_amd64.deb 2.更新安装源apt-get update 3.安装teamviewersudo dpkg -i teamviewer_amd64.debapt-get -f ins...
2018-10-04 09:43:08
1242
原创 Git常用命令
git commit -m "first commit" 提交添加的数据 git commit -a -m "first commit" 添加所有修改文件,并且提交 git add * 添加当前目录以及所有子目录下的修改文件 git add ttt*添加指定文件,可以采用通配符 git remote add origin https://github.com/walh1314/demo.g...
2018-10-04 09:41:09
195
转载 Docker修改时区
前几天遇到这样一个业务场景,数据库运行在docker 中,docker 的市区是utc 所以就跟北京时间相差8个小时。但是又不能重新运行一个容器,只能保证数据库运行状态,并把宿主机的时区复制给docker 容器。很苦恼,首先我先把宿主机的时区改成啦CST 北京时间。然后把宿主机的时区复制给docker 容器。命令如下docker cp /etc/localtime [容器ID或者NAME...
2018-10-04 09:40:18
2267
转载 Nginx发布Vuejs项目
1、问题描述给前端同事部署了web项目之后,访问发现除了index.html可以访问,其他的路径使用了“伪静态”。比如访问:http://localhost:8081/user/login,访问即报404错误,这个实际上是请求HTML相关资源而非后台接口,后面网上查了相关资料找到了解决办法。2、配置文件 1 upstream portalServer { 2 ...
2018-08-11 08:44:44
1457
原创 oracle解析xml,带命令空间的节点获取
在xml里有两个解析xml的函数extract和extractVALUE,这两个函数可以带两个参数,也可以带上个参数,第三个参数是命令空间,对于namespace_string,刚开始我也很疑惑,然后去网上找了很久的资料也没弄明白,因为没有范例,最后在自己的尝试下解决了,extract官网API如下:http://docs.oracle.com/cd/B19306_01/server.
2017-01-22 17:23:13
7939
原创 Eclipse安装Activiti-Designer插件
1、Eclipse离线安装Activiti-Designer插件 安装环境(联网,会下载一些Eclipse支持包):Version: Mars.2 Release (4.5.2)Activiti-Designer-5.18.0下载地址:http://www.activiti.org/designer/archived/解压Act
2016-10-20 09:36:50
5472
转载 cygwin下如何清屏(clear screnn)
在windows下安装了cygwin后,没有clear命令,一般有如下向种处理方法:1. bash script处理:echo -e "\E[2J"^C2. ctrl + L3. 在cygwind中install ncurses (in Utils) and then you can use: clear点击打开链接http://www.cnblogs.
2016-07-25 09:58:19
787
原创 java使用http创建https连接,并且使用http实现webservice服务端
package test.http;import java.io.ByteArrayOutputStream;import java.io.DataOutputStream;import java.io.InputStream;import java.io.UnsupportedEncodingException;import java.net.HttpURLConne
2015-12-29 14:14:58
4208
原创 tomcat部署成https协议
如果希望 Tomcat 支持 Https,主要的工作是配置 SSL 协议 1.生成安全证书 2.配置tomcat---------------------------------------------------------------------------------------------------------------------------预备知
2015-12-29 14:05:47
4733
原创 Linux安装jdk运行环境
1、在windows操作系统中下载jdk1.7rpm linux64位安装;2、检查Window是否有安装FTP服务器;3、linux远程登录到服务器,使用FTP连接到window是电脑;4、设置FTP传输格式(bin),设置为二进制格式;否则在解压缩jdk的时候出现文件错误;ftp 10.45.48.85ftp>binftp>mget jre-7u80-linux-x64
2015-12-29 14:01:31
641
转载 Linux命令学习之路---网络状态(netstat)命令
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为Active Internet connections (w/o servers)Proto Re
2015-07-20 09:37:36
583
转载 Linux命令学习之路---输入输出状态(iostat)命令
Linux系统出现了性能问题,一般我们可以通过top、iostat、free、vmstat等命令来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据。基本使用$iostat -d -k 1 10参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1 10表示,数据显示每隔1秒刷新一次,共显示10次。
2015-07-20 09:30:26
604
原创 Linux命令学习之路---虚拟内存统计(vmstat)命令
Linux vmstat全称叫Virtual Memory Statistics;vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用
2015-07-20 09:06:53
582
原创 Linux命令学习之路---文件分割(split)命令
Usage: split [OPTION]... [INPUT [PREFIX]]Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; defaultsize is 1000 lines, and default PREFIX is `x'. With no INPUT, or when INPUTis -, re
2015-07-17 14:12:43
649
原创 Linux命令学习之路---关机(shutdown)命令
shutdown命令可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段。精确时间的格式是hh:mm,表示小时和分钟,时间段由+ 和分钟数表示。系统执行该命令后会自动进行数据同步的工作。该命令的一般格式语 法:shutdown [-efFhknr][-t 秒数
2015-07-17 10:57:51
703
原创 Oracle 序列号当前值
select last_number from user_sequences where sequence_name='?';
2015-04-29 11:36:12
1511
转载 JUnit4 详解
JUnit4概述 JUnit4是JUnit框架有史以来的最大改进,其主要目标便是利用Java5的Annotation特性简化测试用例的编写。先简单解释一下什么是Annotation,这个单词一般是翻译成元数据。元数据是什么?元数据就是描述数据的数据。也就是说,这个东西在Java里面可以用来和public、static等关键字一样来修饰类名、方法名、变量名。修饰的作
2015-04-13 08:58:40
485
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅