自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

重燃小窗

对待技术,我是认真的!

  • 博客(207)
  • 资源 (16)
  • 收藏
  • 关注

原创 es深度查询实战

【代码】es深度查询实战。

2023-10-24 09:49:25 129

原创 Java中的屠龙之术

是 Java 注解处理器的一个抽象类,它是 Java 编译器提供的工具,用于处理源代码中的注解。注解处理器可以在编译时扫描和处理源代码中的注解信息,并根据注解生成代码、进行静态分析、执行代码检查等操作。注解处理器是 Java 编译器的一部分,它可以用于生成额外的代码,修改现有的代码结构,或者在编译期间执行其他任务。这使得注解处理器非常适用于一些元编程和自动化的场景。作为注解处理器的抽象类,提供了一些常用的方法和操作,使得开发者可以更方便地编写自定义的注解处理器。它是 Java 标准库中的一部分,位于包中。

2023-08-15 17:54:44 200

原创 记录一个正则表达式

至少包含一个特殊字符,特殊字符为:“!@#$%^&*()-+” 中的一个;不包含连续数字,如:12345;至少包含一个小写英文字母;至少包含一个大写英文字母;不包含2个连续相同的字符;

2023-08-11 17:43:09 899

原创 java动态生成excel并且需要合并单元格

java动态生成excel并且需要合并单元格。

2023-08-08 11:09:17 1984 2

原创 java集成Jpython解决Caused by: org.python.core.PyException: null问题

上述pyCalculate方式在本地使用时没有问题,但是部署到开发环境就会报错。

2023-08-08 10:16:36 324

原创 ElaticSearch 7.x in action

【代码】ElaticSearch 7.x in action。

2023-08-03 16:47:41 127

原创 解决微服务调用 file文件传递出现的 Current request is not a multipart request 问题

多服务传递,如端层到服务层,上述方式就会出现Current request is not a multipart request问题

2023-08-02 09:27:16 532

原创 spring源码分析

Spring容器在启动的时候,先会保存所有注册进来的Bean的定义信息xml注册bean,<bean>注解注册Bean,@Service、@Component、@Bean…Spring容器会合适的时机创建这些Bean用到这个bean的时候,利用getBean创建bean,创建好以后保存在容器中统一创建剩下所有的bean的时候后置处理器BeanPostProcessor每一个bean创建完成,都会使用各种后置处理器进行处理;来增强bean的功能。

2023-07-24 09:32:43 75

原创 kafka面试题

在 Kafka 集群中会有一个或多个 broker,其中有一个 broker 会被选举为控制器,它负责管理整个集群中所有分区和副本的状态,Kafka 集群中只能有一个控制器。如上图所示,3 个分区副本都是 ISR 集合当中的。最小的 LEO 为 3,就代表分区的 HW 为3,所以,当前分区只能消费到 0~2 之间的 3 条数据。这其中每一步都有可能丢失消息。Broker 存储数据。

2023-07-24 09:29:26 829

原创 搜集了一些题

存储引擎:不同的数据文件在磁盘的组织形式frm:表结构ibd:数据和索引文件一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败.

2023-07-24 09:27:48 698

原创 TCP实现原理和为什么需要三次握手?两次握手不可以?四次握手不可以?

TCP:Transmission Control Protocol翻译过来就是传输控制协议,TCP协议是一个面向连接的、可靠的、基于字节流的传输层协议RFC 793对TCP连接的定义其大致意思是TCP连接是为了用于保证可靠性和流控制机制的,包括 Socket、序列号及窗口大小。

2023-07-24 09:22:43 411

原创 easypoi读取多sheet的excel文件

POI异常:java.lang.NoClassDefFoundError: org.openxmlformats.schemas.spreadsheetml.x2。java.lang.NoClassDefFoundError: org/apache/poi/poifs/filesystem/FileMagic报错。

2023-07-21 06:53:48 822

原创 一分钟搞定ListIterator

在Java编程中,ListIterator是一个非常有用的接口,它是List接口的迭代器扩展版,可以用来实现链表数据结构的遍历和修改。

2023-06-06 18:18:24 1434

原创 Terry部落之恶意防刷

我允许你三次故意访问错误地址,第一次路径是error我设置跳转到404,第二次、第三次就跳转到fuck,第四次就直接由过滤器打印被加入黑名单字样。

2023-05-19 07:41:14 76

原创 Terry部落简介

Terry部落,基于目前主流 Java Web 技术栈(SpringBoot + MyBatis-plus + MySQL + Redis + Kafka + Elasticsearch + shiro + …)实现的个人博客服务。包含登陆、注册、文章发布、资源发布、鉴权、搜索、用户设置、数据统计等模块…其中资源相关信息接入了支付宝的当面付功能。

2023-05-10 15:06:11 432

原创 disruptor

什么是disruptordisruptor的优势disruptor实战

2023-03-23 14:41:13 74

原创 【IDEA2022版本设置热部署】

具体步骤:打开顶部工具栏 File -> Settings -> Advanced Settings -> Compiler -> 然后勾选 Allow auto-make to start even if developed application is currently running。具体步骤:打开顶部工具栏 File -> Settings -> Build,Execution,Deployment -> Compiler 然后勾选 Build project automatically。

2023-03-10 16:37:44 956

原创 Nginx那些事儿2

nginx那些事儿2

2022-11-27 14:30:44 2020 1

原创 批量启动docer容器shell脚本

为了偷懒写一个批量启动dokder容器的脚本

2022-11-14 10:31:24 572

原创 解决Elasticsearch报错:exception [type=search_phase_execution_exception, reason=all shards failed]

解决es[type=search_phase_execution_exception, reason=all shards failed]错误

2022-11-11 18:22:20 26408 1

原创 nginx那些事1

nginx那些事

2022-11-07 09:31:37 585

原创 深入浅出awk命令

其实一门编程语言,支持条件判断,数组,循环等功能,与grep,sed被称为linux三剑客之所以叫AWK是因为取其三位创始人 Alfred Aho,Peter Weinberger 和 Brian Kernighan 的Family Name的首字符。

2022-10-24 23:12:42 310

原创 CyclicBarrier 和 CountDownLatch 的区别

CyclicBarrier : A synchronization aid that allows a set of threads to all wait for each other to reach a common barrier point.(CyclicBarrier : 多个线程互相等待,直到到达同一个同步点,再继续一起执行。对于 CountDownLatch 来说,重点是“一个线程(多个线程)等待”,而其他的 N 个线程在完成“某件事情”之后,可以终止,也可以等待。...

2022-08-27 12:06:46 513

原创 java8的LocalDateTime还没搞懂?一文轻松解决掉你的烦恼

java都出到17了,我这java8的LocalDateTIme都没怎么研究过。感觉是有点说不过去啊,周末的时候在家把源码看了看,写了一个工具类,以便将来的开发过程中省时省力。这段时间换工作,新的公司用java8语法糖用的很多,上周开发一个需求,用到时间计算,因为这个时间计算,搞了两个小时。......

2022-08-02 12:04:07 190

原创 集成shardsphere报错Type is required.

集成shardsphere报错Type is required.

2022-07-24 11:15:28 1512

原创 java:实现判断两个时间差是否在N天以内

java实现判断两个时间差是否在N天以内

2022-07-11 22:24:57 1217

原创 mac安装Prometheus+Grafana

mac安装prometheus和grafana

2022-07-11 15:09:18 756

原创 mysql提示Your password does not satisfy the current policy requirements的解决方案

mysql提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements的解决方案

2022-07-09 20:08:26 1938

原创 使用ab进行压测

使用ab进行压力测试

2022-06-24 06:45:43 691

原创 nacos添加鉴权

nacos开启鉴权,踩了很多坑,记录一下

2022-06-19 21:15:43 4606

转载 面试官:你有没有线上JVM 调优经验

文章出处面试官:在工作中做过 JVM 调优吗?讲讲做过哪些 JVM 调优?我相信这种问题大部分在参加面试的时候都会碰到,但是我们今天讨论一下JVM 经过这么多年的发展和验证,整体是非常健壮的,个人认为99%的情况下,基本用不到 JVM 调优.通常情况下我们的jvm参数调优都会遵循官方的建议:XX:NewRatio=2XX:SurvivorRatio=8堆内存设置为物理内存的3/4左右…JVM 参数的默认(推荐)值都是经过 JVM 团队的反复测试和前人的充分验证得出的比较合理的值,因此通

2022-05-12 11:20:02 382

原创 mysql:单表1千万数据,未来1年还会增长多500万,性能比较慢,说下你的优化思路?

针对这个问题分为两种情况进行分析分库分表不分库分表不分库分表情况下软优化数据库参数调优分析慢查询SQL语句,分析执行计划,进行sql改写和程序改写优化数据库索引结构优化数据表结构优化引入NOSQL和程序架构调整硬优化提升系统硬件(更快的IO、更多的内存):带宽、CPU、硬盘分库分表情况下根据业务情况而定,选择合适的分表策略先看只分表是否满足业务的需求和未来增长数据库分表能够解决单表数据量很大的时,数据查询的效率问题无法给数据库的并发操作带来效率上的

2022-05-07 20:13:39 547

原创 spring源码解析

通过main方法作为入口public static void main(String[] args) { AnnotationConfigApplicationContext annotationConfigApplicationContext = new AnnotationConfigApplicationContext(RetryAspectConfig.class); String[] beanDefinitionNames = annotationConfigAp

2022-05-02 18:06:12 618

原创 聊聊spring的钩子接口

InitializingBeanInitializingBean 是一个可以在 Bean 的生命周期执行自定义操作的接口,凡是实现该接口的 Bean,在初始化阶段都可以执行自定义的操作public interface InitializingBean { void afterPropertiesSet() throws Exception;}InitializingBean只有一个afterPropertiesSet(属性设置之后)方法「这方法名起的可以」,当一个 Bean 实现该接口时,在

2022-04-07 16:30:01 256

原创 jvm调优

原文链接想要调优,你不得不知道的一些参数JVM参数的含义参数名称含义-Xms初始堆大小-Xmx最大堆大小-Xmn年轻代大小-XX:NewSize设置年轻代大小-XX:MaxNewSize年轻代最大值(for 1.3/1.4)-XX:PermSize设置持久代(perm gen)初始值-XX:MaxPermSize设置持久代最大值-Xss每个线程的堆栈大小-XX:ThreadStackSizeThread Stac

2022-04-02 15:49:38 323

原创 java实现文件下载

在配置文件中加入文件路径配置file.doc-dir=/usr/local/787k/doc/fileconfig文件@Data@Configurationpublic class FileConfig { @Value("${file.doc-dir}") private String docDir;}file的实现层@Service@Slf4jpublic class FileService { private final Path filePath; publ

2022-03-06 21:08:56 629

原创 我擦,在thymeleaf中使用自定义加密插件原来这么爽

我的个人博客已经上线一段时间了,但一直让我苦恼的事情是在帖子详情的链接,直接暴露了帖子的id,于是我想办法尝试在tymeleaf中使用自定义插件,通过expression应用到tymeleaf中效果图展示地址,随便点击一个帖子查看上方链接就行这里thymeleaf的版本号是3.x自定义dialectpackage com.daishu.bbs.config;import com.daishu.bbs.util.AESUtil;import org.thymeleaf.context.IEx

2022-03-03 17:06:47 354

原创 三行代码教废你bootstrap原生下拉菜单实现非点击显示

bootstrap 3原生的下拉菜单(DropDown)组件默认不支持鼠标移上去就展开下拉列表,只能点击后才显示.为了解决这个问题,我在网上无意发现了一个插件bootstrap-dropdown-hover,但是用起来很繁琐.感兴趣的朋友可以自行搜索一下.相比较插件来说 这三行代码用起来更香:.dropdown:hover .dropdown-menu { display: block;}html代码:<li class="nav-item ml-2 btn-group-vert

2022-02-14 14:54:32 551

原创 leecode206:反转链表

定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULLnewHead = nullcur = 1cur.next修改前是2,修改后是nullnewHead = 1cur = 2依次推倒cur.next修改前是3,修改后是2newHead = 2cur = 3...题解一定要定义三个节点指针临时节点永远

2022-02-14 07:48:31 221

原创 redis概念

NoSQL定义:NoSQL是不同于传统的关系数据库的数据库管理系统的统称.其两者最重要的区别是NoSQL不使用SQL作为查询语言.NoSQL数据存储可以不需要固定的表格模式。NoSQL是基于键值对的,可以想象成表中的主键和值的对应关系.redis定义:Redis是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件.它支持多种类型的数据结构,如 字符串(strings)、散列(hashes)、 列表(lists)、 集合(sets)、 有序集合(sorted s

2022-02-11 15:37:48 680

generator_sql.zip

最近公司好多功能都进行了配置性操作,需要像数据库中插入数据,通过ongl表达式进行计算即可,每次复制粘贴和更改sql内容感觉特别麻烦,所以就通过读取excel表的数据就行sql生成操作.这样的话眼睛没有以前那么累了,也不容易发生错误了,省时省力.

2020-05-21

jdk8-mac.zip

现在csdn上很多mac版的jdk8要的积分特别多,动辄几十分,真是不明觉厉,这个版本是本人在用的jdk8,正常可用,放心下载!如果喜欢请多多评论,留下你们的红心,谢谢!即便资源共享,也请不要做拿来主义者!

2020-05-21

echarts java实例

物超所值 适合初学者 前后台数据成功交互 傻瓜式配置 记得好评

2016-12-27

solr ssm java

自己弄的一个maven项目 框架ssm 改改配置就能用 搭建文档我已经加到了压缩包 有不懂的可以问 windows下搭建的solr 跟linux步骤差不多

2016-12-22

c++在线评分系统

将题目的目录放到d盘的netdisk文件夹中,用到阿帕奇(tomcat)服务器。

2014-10-10

b/s版聊天室

此聊天代码运行与tomcat服务器上,下载后只需要将该代码拷贝到安装tomcatC盘目录中,tomcat已经在此文档中!

2014-03-25

orcal数据库论文

大学生结课数据库论文,自己撰写再加上摘抄

2013-11-29

网络安全des加密算法

适用于大学网络安全实验,代码全,可以直接编译,附有实验报告及截图

2013-09-03

网络安全试验des算法c++

针对于大学网络专业网络安全实验,代码实用,保证无误!

2013-09-02

网上购物车 大三实验 今天刚做完

package com.toolsbean; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class DB { private Connection con; private PreparedStatement pstm; private String user="orich"; private String password="123456"; private String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; private String url="jdbc:sqlserver://localhost:1433;DatabaseName=db_shopcar"; public DB(){ try{ Class.forName(driver); System.out.println("加载驱动成功"); }catch(ClassNotFoundException e){ System.out.println("加载数据库驱动失败!"); e.printStackTrace(); } } public Connection getCon(){ if(con==null){ try { con=DriverManager.getConnection(url,user,password); } catch (SQLException e) { System.out.println("创建数据库连接失败!"); con=null; e.printStackTrace(); } } return con; } /** *@功能:对数据库进行增、删、改、查操作 *@参数:sql为SQL语句;params为Object数组,里面存储的是为sql表示的SQL语句中"?"占位符赋值的数据 */ public void doPstm(String sql,Object[] params){ if(sql!=null&&!sql.equals("")){ if(params==null) params=new Object[0]; getCon(); if(con!=null){ try{ System.out.println(sql); pstm=con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); for(int i=0;i<params.length;i++){ pstm.setObject(i+1,params[i]); } pstm.execute(); }catch(SQLException e){ System.out.println("doPstm()方法出错!"); e.printStackTrace(); } } } } /** * @功能:获取调用doPstm()方法执行查询操作后返回的ResultSet结果集 * @返回值:ResultSet * @throws SQLException */ public ResultSet getRs() throws SQLException{ return pstm.getResultSet(); } /** * @功能:获取调用doPstm()方法执行更新操作后返回影响的记录数 * @返回值:int * @throws SQLException */ public int getCount() throws SQLException{ return pstm.getUpdateCount(); } /** * @功能:释放PrepareStatement对象与Connection对象 */ public void closed(){ try{ if(pstm!=null) pstm.close(); }catch(SQLException e){ System.out.println("关闭pstm对象失败!"); e.printStackTrace(); } try{ if(con!=null){ con.close(); } }catch(SQLException e){ System.out.println("关闭con对象失败!"); e.printStackTrace(); } } public static void main(String[] args) { new DB(); } }

2013-07-10

数据库实验完整版 通讯录

package main; import java.awt.Color; import java.awt.Font; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.*; public class addWind implements ActionListener { private JFrame wind; //定义保存用户输入的姓名 private String getname; //定义标签数组 private JLabel[] lbArray={ new JLabel("请输入您要新增的信息内容:"), new JLabel("姓 名:"), new JLabel("性 别:"), new JLabel("出生日期:"), new JLabel("手机号码:"), new JLabel("MSN/QQ:"), new JLabel("现在住址:"), new JLabel("家 乡:"), new JLabel("关 系:"), new JLabel("备 注:")}; //定义文本域数组 private JTextField[] jtfArray={ new JTextField(), new JTextField(30), new JTextField(30), new JTextField(30), new JTextField(30), new JTextField(30), new JTextField(30), new JTextField(30), new JTextField(30), new JTextField(30) }; private JButton btn,btn2; //构造函数 public addWind() { wind = new JFrame("新增通讯信息页面"); wind.setSize(600,600); btn = new JButton("确认添加"); btn2 = new JButton("返回"); wind.setLayout(null); btn.setBounds(220,500,100,30); btn2.setBounds(360,500,100,30); wind.add(btn); wind.add(btn2); addComponent(); addListener(); Image icon = Toolkit.getDefaultToolkit().getImage("./image/test.PNG"); wind.setIconImage(icon); wind.setVisible(true); //wind.setBackground(Color.red); wind.setLocationRelativeTo(null); wind.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e) { int temp = JOptionPane.showConfirmDialog(wind, "您是要退出系统,还是返回登录?", "请选择退出或者登录?", JOptionPane.WARNING_MESSAGE); if(temp==0) { System.exit(0); }else { wind.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); } } }); } public void addComponent() { lbArray[0].setFont(new Font("楷体",Font.BOLD+Font.ITALIC,22)); lbArray[0].setForeground(Color.red); lbArray[0].setBounds(100,10,800,20); for(int i=1;i<10;i++) { lbArray[i].setBounds(60,i*50,150,30); lbArray[i].setFont(new Font("楷体",Font.BOLD,20)); lbArray[i].setForeground(Color.blue); jtfArray[i].setBounds(210,i*50,300,30); wind.add(jtfArray[i]); } for(int i=0;i<10;i++) { wind.add(lbArray[i]); } } //注册监听器 public void addListener() { btn.addActionListener(this); btn2.addActionListener(this); for(int i=0;i<10;i++) { jtfArray[i].addActionListener(this); } } //实现ActionListener接口 public void actionPerformed(ActionEvent e) { if(e.getSource()==btn) { //点击更新按钮的操作 getname=jtfArray[1].getText().trim(); System.out.println("test:"+getname); if(getname!=null&&!getname.equals("")) { //拼装SQL语句 String sql = "select name from memoData where name='"+getname+"';"; System.out.println("要更新姓名是:"+getname); DBTool.initialConnect(); if( DBTool.checkData(sql,getname,wind)); { //定义正则表达式,验证电话号码有效性 String parten="1[3|5|8]\\d{9}"; String uname=jtfArray[1].getText().trim(); String sex=jtfArray[2].getText().trim(); String birth=jtfArray[3].getText().trim(); String mobile=jtfArray[4].getText().trim(); if(mobile.matches(parten)) { }else { JOptionPane.showMessageDialog(wind, "您输入的电话号码有误,请检查后再试。", "温馨提示:", JOptionPane.WARNING_MESSAGE); return ; } String msn=jtfArray[5].getText().trim(); String address=jtfArray[6].getText().trim(); String home=jtfArray[7].getText().trim(); String extend=jtfArray[8].getText().trim(); String others=jtfArray[9].getText().trim(); //拼装SQL语句 sql="insert into memoData values('"+uname+"', "+ "'"+sex+"',"+"'"+birth+"', "+"'"+ mobile+"' ,"+"'"+msn+"', "+"'"+address+"' ,"+"'" +home+"', "+"'"+extend+"' ,"+"'"+others+"');"; DBTool.initialConnect(); DBTool.insertData(sql,wind); } }else { JOptionPane.showMessageDialog(wind, "姓名不能为空哦。。", "温馨提示:", JOptionPane.WARNING_MESSAGE); } }else if(e.getSource()==btn2) { //点击返回按钮的操作 new MainWind(); wind.dispose(); }else if(e.getSource()==jtfArray[0]) { jtfArray[1].requestFocus(true); }else if(e.getSource()==jtfArray[1]) { jtfArray[2].requestFocus(true); }else if(e.getSource()==jtfArray[2]) { jtfArray[3].requestFocus(true); }else if(e.getSource()==jtfArray[3]) { jtfArray[4].requestFocus(true); }else if(e.getSource()==jtfArray[4]) { jtfArray[5].requestFocus(true); }else if(e.getSource()==jtfArray[5]) { jtfArray[6].requestFocus(true); }else if(e.getSource()==jtfArray[6]) { jtfArray[7].requestFocus(true); }else if(e.getSource()==jtfArray[7]) { jtfArray[8].requestFocus(true); }else if(e.getSource()==jtfArray[8]) { jtfArray[9].requestFocus(true); }else if(e.getSource()==jtfArray[9]) { btn2.requestFocus(true); } } }

2013-07-03

jsp企业进销存管理系统

尽情下载,放心使用,该代码没有错误,适用于做课设的同学!

2013-07-03

jsp网上购物系统

值得拥有,放心下载做课设很有帮助!该代码必须用myeclipse打开

2013-07-03

基于jsp网络购物

代码没有问题,请放心下载,里面有详细代码

2013-07-03

java100种算法

对于学好java帮助很大 ,不下载会后悔,我也是从别人那拿过来的哦

2013-07-02

空空如也

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

TA关注的人

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