java相关
Peter447
学而时习之,不亦说乎
展开
-
windows系统获取网卡信息
在抓包或者使用socket,或者监听端口时,如果使用的是pcap4j类库,就会用到网卡信息,那么怎么查看本机的网卡信息呢,Linux的比较方便,直接通过。这种有时候看不出来,具体数据发送过来,是哪个网卡在接收,那么就要使用代码,看下详细信息。里边能看到每个网卡绑定的IP信息,然后你的数据是发往哪个IP,就去哪个网卡去取,就行。windows的比较麻烦一点,因为一般会显示好多个,那么怎么判断是哪一个呢。然后再在代码里绑定使用的网卡,就可以监听具体的端口了。首先第一种,就是使用。原创 2024-08-08 14:53:00 · 367 阅读 · 0 评论 -
nodeJS的一点个人总结
在此之前,JavaScript主要用于浏览器环境中,用于增强网页的交互性。Node.js的出现扩展了JavaScript的使用范围,让开发者可以用JavaScript编写服务器端软件,进行文件操作,以及进行网络通信等。• Node.js并不是JavaScript应用:这里的"JavaScript应用"通常指用JavaScript编写的程序或软件。nodejs 并不是JavaScript应用,也不是编程语言,因为编程语言使用的JavaScript,Nodejs是 JavaScript的。原创 2024-08-06 10:07:24 · 204 阅读 · 0 评论 -
kafka设置分区
声明一个配置文件就可以,这是设置了两个分区,一个副本。原创 2024-07-19 18:31:19 · 562 阅读 · 0 评论 -
windows系统实现应用程序开机即运行(不登录系统也行)
由于近期需要设置一个Java程序开机自启动,因此试了一下方法,总结了两点,一个是需要用户登录系统之后再启动,一种是不需要登录,只要开机就会启动。win+r打开运行,输入services.msc,打开服务控制面板,找到对应的刚才注册的服务名称。保存为.bat批处理文件,然后可以先手动双击试一下,看能运行起来不,准备好之后,**重要是第二种方式,**不登录也能运行,这个需要下载两个辅助插件,到这里就配置结束了,可以自行测试一下,有相关问题,可以留言进行讨论。两个资源我放在了这里,如果下载不了,也可以留言,原创 2024-06-21 10:07:15 · 1437 阅读 · 0 评论 -
Java自动调用wireshark解析pcap文件并输出结果
左边是代码输出的字符串,右边是wireshark手动解析的,一模一样,如果想讲究的话,也可以把左边的字符串格式化,放在一个tree里,看起来也比较有层次感。首先主机上得先安装wireshark的工具软件,然后最好把环境变量配上,如果不配的话,调用的时候,需要用绝对路径,建议配上环境变量,关于pcap文件的介绍,和怎么使用代码手动生成一份pcap文件,可以参考我在其他文章中的介绍,直接就可以看到返回的结果,和wireshark里一模一样的,有了pcap文件之后,再看怎么调用wireshark解析。原创 2024-04-16 15:39:05 · 780 阅读 · 0 评论 -
用代码模拟抓包手动生成一个pcap文件
网上解析pcap文件的方法有人提供了一大堆,但是自己用代码生成一个pcap文件的方法,却几乎没人提过,我刚好要用到这块,就自己研究了一下。我用的是Java代码,C#代码也类似,也写过,这里就不提供了,有需要的可以留言。用wireshark测试一下,也是没有问题的,完全可以识别出来,图中这些标识的地方,根据pcap的格式规范,也都是一一匹配的,然后再分享一个通过代码调用wireshark自动解析pcap文件的代码,可以把解析结果直接输出出来,至此就整个流程全部结束。原创 2024-04-16 15:19:09 · 526 阅读 · 0 评论 -
pcap文件的结构和格式说明以及内容解析
先了解一下pcap文件的内容格式和解析规则,然后可以自己用代码生成一份pcap文件,模拟抓包后得到的数据,原创 2024-04-16 14:51:41 · 668 阅读 · 0 评论 -
notepad++里安装32位和64位的16进制编辑器Hex-Editor
这个官网上下载的是32位的版本,如果你是64位的notepad++,就不支持,那么请使用这个地址,我这个是32位和64位都在一起放着,你可以随便选,这里选这个就行,把这个dll解压出来,放到notepad++的安装目录下的plugins目录下就可以。这是hex-editor的官网。选一个合适的版本,我当时选的是最新的版本。这个16进制编辑器确实是个好东西,平时工作种会经常用到,原创 2024-03-29 15:20:27 · 2088 阅读 · 0 评论 -
Java里常用的集合哪些是线程安全的和不安全的
最常用的Hashmap和HashTable我做了一下测试,就很明白能看出来,线程不安全时发生的问题了。最近在做一个业务的时候,需要考虑线程的安全性,然后选用集合的时候专门去整理了一下。这安全与不安全,还是比较明显的。原创 2024-02-22 15:34:56 · 215 阅读 · 0 评论 -
Java里解压zip和rar包
并且第二种方法,截至2023年,只支持rar4以下版本的解压,rar5的版本不支持,以后会不会有更新,就不知道了。rar的解压提供了两种方法,第一种方法是调用命令调用主机安装的解压缩工具,第二种方法,需要注意一下,需要导一个包。zip的解压提供了一种方法,原创 2024-01-15 10:11:46 · 957 阅读 · 1 评论 -
报错java.lang.IllegalArgumentException: MALFORMED
我是在解压压缩包文件的时候报的错,查了下,报错的原因是因为编码不对,压缩是用GBK压缩的,解压的时候,默认使用的是UTF-8,所以报错了,把读文件的时候,编码改一下,就可以了。原创 2024-01-11 17:55:47 · 1082 阅读 · 0 评论 -
Maximum upload size exceeded; nested exception is java.lang.IllegalStateException: org.apache.tomcat
springboot的配置文件中设置这两个参数就可以,一个是单个文件的最大值,一个是总大小的最大值,有人说设置一个也可以,我试过设置一个的,不生效,所以还是建议两个都设置。这个大小最好还是设置一个最大值,防止上传的文件过大,导致系统卡死,我是自己在前端设置了一个限制,后端就放开了。一看提示就知道是上传的文件大小有限制,太大了,所以就得看下,这个限制在什么地方修改.选择这俩配置中的也一样,可以看下这个和上边的配置都是调用的同一个方法。-1表示不做限制,也可以设置为100M,500M,这种,看具体情况。原创 2024-01-11 16:03:16 · 1271 阅读 · 0 评论 -
C#和Java的大端位和小端位的问题
这是翻译的问题,大小端位是直译,高低尾端是意译,显然意译的更好理解一点。地址有顺序,高尾端,就是按照地址的顺序,尾端的位置放高字节的数据,低尾端就是地址的尾端放低字节的数据。就是两种存储方式,各有利弊,具体我就不赘述了,主要是在用的时候,需要注意,:little endian,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,也叫低尾端。:big endian,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,也叫高尾端。原创 2023-08-16 16:26:51 · 841 阅读 · 0 评论 -
解决Tomcat控制台窗口输出乱码问题
由于编码的问题,tomcat的控制台窗口输出的都是中文乱码,这明显是编码格式导致的,只要找到对应的编码格式修改一下就好了,由于我的服务器编码是GBK,所有只需把输出的编码修改为GBK就行了。936就是GBK编码。找到tomcat的安装目录,找到logging.properties这个文件。把这个改成GBK就好了,原创 2023-06-25 10:50:45 · 635 阅读 · 0 评论 -
org.springframework.boot.web.servlet.error.ErrorController.getErrorPath()Ljava/lang/String
2020 年以后 Spring Cloud 不支持 zuul了,zuul的最新版本2.2.10.RELEASE在2021年11月之后一直没有更新过,最好的话,还是使用Spring Cloud的gateway更合适,比zuul还要强大,springcloud使用zuul报的错,原因就是使用的springboot版本和zuul的版本不匹配,springboot版本太高,zuul版本太低,或者这个系列版本也可以。原创 2023-04-07 18:39:44 · 694 阅读 · 0 评论 -
调用命令强制关闭windows进程
在使用Java开发时,有时候需要调用cmd窗口执行一些脚本或者程序,执行完就需要把这些窗口都关闭掉,想强制关掉谷歌浏览器。原创 2023-03-01 17:10:37 · 479 阅读 · 0 评论 -
泊松分布的计算方式
如果都要计算泊松分布了,那么就默认你知道泊松分布的基本知识了,我这里只介绍如何计算,我是用的Excel直接套用公式计算的,如果想在代码里用,我的实现方式是,先用Excel把值全部求出来,然后做成map,在代码里直接使用map来估算,对于范围小,精确度要求不高的情况可以这样来处理。如果要求精度高变量范围大的情况,可以使用Python或者matlab来算,有现成的公式可以调用,写个脚本调用就行,我暂时没有精力去做,先介绍一下这种近似估计的方法。那么就可以通过Excel来计算,使用公式。通过概率密度函数求解。原创 2023-02-03 18:14:35 · 3403 阅读 · 0 评论 -
Java里将List批量一次性插入oracle数据库
两种方式都可以正常运行,但我测试了几万条数据发现,第一种的性能要比第二种好很多,数据量不大的情况下使用哪种都行,数据量大的话,还是推荐使用第一种,要快很多。原创 2023-01-10 09:47:21 · 1957 阅读 · 0 评论 -
使用jdbc批量插入数据
一般使用jdbc都是自己写个工具或者处理手动一点数据,正式项目中几乎没有这么用的,仅供大家参考。PreparedStatement 的处理方式。Statement 对象处理方式;原创 2022-11-30 16:24:51 · 646 阅读 · 0 评论 -
使用@Autowired报错Could not autowire. No beans of ‘xxx‘ type found ...
也是经常遇到的,就是@Autowired的自动检测级别太高,可以使用下边的方法,或者把Error级改为提示或者警告。注入的时候,导入的对象类路径不对,检查一下导入的路径。有时候有重名的类,就导致错误了,我就遇到过类似错误。原创 2019-07-10 10:26:53 · 1961 阅读 · 0 评论 -
windows上使用Gitblit搭建git服务仓库
第31行:这里需要配置git仓库的目录路径,自己新建一个目录,把地址配置上就可以,如:F:\download\Gitblit\project。2096行和2105行,是给http和https绑定访问的IP,配置成当前部署的主机IP就行,这个配置可改可不改,网上有的教程让把这个地方改了,要是有改动,则需要把这个地方和。文件,你要是在上一步把这个文件名字改了,就打开你改后的文件就可以,修改以下几个地方。然后就是建立版本库,建立团队,创建用户,分配权限,就可以操作GIT了,现在修改配置,还是文本编辑器,打开。原创 2022-11-22 16:17:43 · 822 阅读 · 0 评论 -
Java里对map里的元素进行排序
我们知道,HashMap是使用hash算法来定位key的逻辑存储位置,也就是有序存入map里的键值对,取出的时候可能就无序了,所以有时候就需要对map进行一下排序输出。看下结果,完全没问题,只是把map的排序转化成了list的排序。原创 2022-10-20 16:10:08 · 1808 阅读 · 0 评论 -
Tomcat解决跨域问题(Access-Control-Allow-Origin,403,404)
我出现这个问题的时候,觉得是个小问题,也看过很多解决办法,但照做之后,居然不行,就很疑惑,就认真排查了一下问题,发现有些人是 Ta Ma 完全照抄的,就没有自己试过,经过自己尝试,终于完美解决了。修改web.xml配置,网上提供的配置有的是有问题的,先看网上提供的,这两个包,我就不提供了,不管用maven还是网上下,都能找到。放到tomcat的lib目录下。明显说是上面的配置有问题,...原创 2022-08-04 15:53:48 · 5821 阅读 · 2 评论 -
springboot项目解决CORS跨域请求
话不多说,直接上代码第一步:加一个配置类第二步:加上@CrossOrigin注解就可以了原创 2022-07-05 17:40:34 · 275 阅读 · 0 评论 -
使用Idea打jar包完整流程
通常我们开发完一个springboot项目之后,就需要打包发布,以前没太在意,最近突然要用,一时之间操作起来遇到了好几个坑,因此把完整的流程记录一下。第一步操作:第二步:至关重要的一步,我们一项一项来看Module:项目名称,默认,很容易理解Main Class:主类,点击选项,会弹出自己项目的主类,选择即可JAR files from library:一定要选第二个,第一个会把依赖......原创 2019-08-30 15:36:20 · 3073 阅读 · 0 评论 -
Springboot里设置定时任务或者周期任务
**第一步:**在启动类加上注解@EnableScheduling@SpringBootApplication@EnableAutoConfiguration@EnableScheduling //定时任务或者周期任务的注解@MapperScan("com.example.test.mapper")public class Application { public static ...原创 2019-02-24 19:51:40 · 5815 阅读 · 0 评论 -
Java的类加载器和双亲委派机制简单介绍
Java的双亲委派机制是从JDK1.2开始就引入的,在了解该机制之前先得知道Java的类加载器,Java虚拟机中自带的几种类型类加载器:启动(Bootstrap)类加载器:它负责将 <Java_Runtime_Home>/lib下面的类库加载到内存中(比如rt.jar)。开发者不可以直接使用该加载器。标准扩展(Extension)类加载器:是由 Sun 的 ExtClassLoader(sun.misc.Launcher$ExtClassLoader)实现的。它负责将< Java_R原创 2022-02-14 11:22:29 · 429 阅读 · 0 评论 -
java监听端口接收数据包
由于项目中还有其他程序,我是单独启动了一个线程来监听数据public class TestUDPReceive implements Runnable{ // 创建数据包传输对象DatagramSocket绑定端口号 DatagramSocket ds; //创建字节数据 byte[] data = new byte[1024]; // 创建数据包对象,传递字节数组 DatagramPacket dp; public TestUDPReceive原创 2022-01-15 10:42:29 · 3626 阅读 · 0 评论 -
Springboot配置多数据源
首先在application.properties文件中配置多数据源,有几个写几个。第一个配置:spring.datasource.test1.jdbc-url=jdbc:mysql://localhost:3306/zhang_db?serverTimezone=UTCspring.datasource.test1.username=rootspring.datasource.test1...原创 2019-03-07 01:31:51 · 1488 阅读 · 0 评论 -
java手动编译,反编译,反汇编
这是我们所说的java虚拟机的运行流程,平常我们的编译动作通常都是我们使用编辑器来进行的,然后直接交给jvm去执行了,手动一般很少用到,下面就看看手动是怎么操作。java源码编译成.class字节码,要使用到的是jdk自带的javac命令,看下简介:我们用的时候可以这样,这就把Test.java文件编译成了.class字节码文件,字节码文件反编译:一般我们可以使用这个工具反编译,就是把.class文件变成.java文件网上随便找一下,就有,用这个工具打开.class文件就是这个效果反.原创 2021-10-09 10:44:30 · 700 阅读 · 0 评论 -
java和C#中快速生成Excel报表
先看java代码:try{ XSSFWorkbook wb = new XSSFWorkbook(); XSSFSheet xssfSheet = wb.createSheet(); Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DriverManager.getConnection(mysqlUrl,"root","root");原创 2021-09-06 10:56:11 · 256 阅读 · 0 评论 -
windows和Linux上后台启动jar包,不弹出运行窗口
平常大家都喜欢使用bat文件一键启动jar包,普通情况下是弹出DOS窗口的,有很多种写法,这是其中一种:@TITLE 随便起一个名字,就是DOS窗口的title@cd D:@cd D:\demo\data@call java -jar carrAlean.jar@pause写到bat文件里,执行就可以。但要是不希望弹出DOS窗口,就得这样写:%1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(win原创 2021-07-29 10:24:30 · 1648 阅读 · 0 评论 -
mybatis整合sqlite
我这里是配置的双数据源,其中一个是sqlite,一个是Oracle,如果你只使用sqlite一个数据库,那就只需要修改一下数据源配置,直接像使用mysql的那样使用就可以。先导包:<dependency> <groupId>org.xerial</groupId> <artifactId>sqlite-jdbc</artifactId> <version>3.21.0.1</version>&l原创 2021-07-12 11:18:09 · 4742 阅读 · 0 评论 -
Redis中存储的键值对总会有乱码前缀
给代码里添加这样的一个配置就可以了:import com.fasterxml.jackson.annotation.JsonAutoDetect;import com.fasterxml.jackson.annotation.PropertyAccessor;import com.fasterxml.jackson.databind.ObjectMapper;import org.springframework.cache.CacheManager;import org.springframewo原创 2021-07-02 14:04:59 · 684 阅读 · 0 评论 -
storm多个bolt之间多对一或一对多下发
由于业务的关系,bolt之间的下发一般分为以下几种:1.一对一,单线条2.多对一,汇聚式3.一对多,发散式至于说 多对多,交叉式,就可以看成是多个一对多来处理,原理也一样一对一,就不赘述了,基本只要入门storm,都知道怎么搞,对于多对一,也比较简单,比如我有多个业务bolt,最后都要调用数据入库的bolt,可以这样处理:TopologyBuilder topologyBuilder = new TopologyBuilder();...........topologyBuilder.s原创 2021-05-20 10:27:39 · 479 阅读 · 0 评论 -
使用Socket开发一个简单的聊天工具
Socket:所谓套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议根进行交互的接口我们就使用java开发一个简单的聊天工具,看代码:客户端代码:package com.zhang.test.socket;import java.io.BufferedReader;imp原创 2020-11-20 15:06:09 · 970 阅读 · 0 评论 -
Jetty作为服务器简单案例
Jetty :是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境。比Tomcat更轻量级,使用更简单方便。先分享下要使用的所有jar包:https://download.csdn.net/download/weixin_42209881/12001239案例目录结构:代码:package com.zhang.jetty.rest;im...原创 2019-11-28 14:43:21 · 226 阅读 · 0 评论 -
本地使用maven手动安装jar包
特别在使用坑爹的Oracle时,需要手动给本地安装驱动包,先把jar包找到,方法我就不说了。打开idea自带的maven的bin目录,执行cmd或者先执行cmd,在cd到bin目录。执行如下命令:mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dpackaging=jar -Dversion=11.2....原创 2019-11-09 19:43:41 · 288 阅读 · 0 评论 -
Java使用freemarker按照xml模板生成自定义word报告
先看依赖的包: <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.28</version> ...原创 2019-10-30 19:59:57 · 5604 阅读 · 0 评论 -
springboot整合dubbo简单案例
先分享下源码:原创 2019-10-25 18:15:00 · 1999 阅读 · 0 评论