- 博客(117)
- 收藏
- 关注
原创 Mongodb---java篇
可以是spring的模板方法进行crud操作,也可以自己设置Repository层进行操作,方法名和JPA有点相似。Repository默认的方法比价少,需要自己的写方法,用模板方法就要多一些。我的认证数据库是admin,你们可能不一样。测试我这里就不演示了,都比较简单。
2024-06-07 22:34:09
483
原创 java生成公钥私钥办法keytool -genkeypair -alias mytest -keyalg RSA -keypass mypass -keystore keystore.jks -st
【代码】java生成公钥私钥办法keytool -genkeypair -alias mytest -keyalg RSA -keypass mypass -keystore keystore.jks -st。
2023-02-25 12:06:11
795
原创 idea无法安装插件
打开官网找到对应的插件版本如果你已经下载了,但是不是你idea对应的版本,直接用压缩软件打开这个文件里面有一个xml文件,改好,直接保存就OK了。
2023-01-09 14:22:36
7708
原创 spring security(一)
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。
2023-01-02 18:50:45
213
原创 Apache Shiro(一)
如同上面提到的,Realm 是 shiro 和你的应用程序安全数据之间的“桥”或“连接”,当实际要与安全相关的数据进行交互如用户执行身份认证(登录)和授权验证(访问控制)时,shiro 从程序配置的一个或多个Realm 中查找这些数据,你需要配置多少个 Realm 便可配置多少个 Realm(通常一个数据源一个),shiro 将会在认证和授权中协调它们。是不是需要所有方面的验证都成功?简单就是不同的角色用户只能访问指定的信息 ,我们需要知道用户有那些角色,用户有那些权限 ,包结构和之前的一致3-3。
2023-01-01 12:59:36
1248
原创 WebCollector
WebCollector也是一个基于Java的开源网络爬虫框架,其支持多线程、深度采集、URL维护及结构化数据抽取等。WebCollector项目的源码可以在GitHub上进行下载。相比于Crawler4j,WebCollector的可扩展性和适用性更强,如可以实现多代理的切换、断点采集和大规模数据采集。
2022-12-29 11:51:40
1383
原创 Crawler4j
Crawler4j是由Yasser Ganjisaffar开发的一个简单易用的开源网络爬虫框架,它支持多线程和深度数据采集,并且内置URL过滤机制(由frontier包实现)。同时,针对URL对应的页面内容,开发者可利用数据解析工具(如Jsoup)提取网页中的结构化字段。Crawler4j项目的源码可以在GitHub上进行下载。
2022-12-28 11:39:16
1106
原创 Fastjson解析JSON
Fastjson是阿里巴巴公司基于Java语言开发的高性能且功能完善的JSON操作类库,目前fastjson有两个版本,一个是Fastjson,另外一个是fastjson2。Fastjson1 的JSONObject 只是简单实现Map接口,是无序的map容器Fastjson2 的JSONObject 实现了链结构的Map,是有序的Map容器无论是JSONObject或者JSONArray都摆脱了JSON的类,而且JSON由抽象类——>接口我这里选择使用fastjson2。
2022-12-27 17:42:55
1364
原创 jxl ----java处理excel
Jxl是一款常用的Java中操作Excel的API,但其只对xls有效,对2007版本以上的Excel(xlsx)很难处理。在本节中,主要介绍如何使用Jxl创建工作簿以及工作表、读取Excel文件内容和写入Excel文件内容。我们在写入的时候,要保证这个目录是存在的,我这里是自己手动创建的。
2022-12-26 17:22:43
1204
原创 URLConnection与HttpURLConnection
URLConnection是java.net包中的一个抽象类,其主要用于实现应用程序与URL之间的通信。HttpURLConnection继承自URLConnection,也是抽象类。在网络爬虫中,可以使用URLConnection或HttpURLConnection请求URL获取流数据,通过对流数据的操作,获取具体的实体内容。
2022-12-25 17:16:08
1368
原创 org.json解析JSON
JSON-Java是用于在Java中读取和写入JSON文档的参考应用程序。它是由Douglas Crockford编写的,他首先指定了JSON文档格式。它的工作原理是在POJO -中解析和存储JSON文本。这允许您的 Java 代码导航到文档,读取、更新和写入 JSON 文档。该项目的主要目的是展示如何在 Java 中解析和发出 JSON 文档。
2022-12-23 00:04:53
1169
原创 WebMagic
WebMagic是一款简单灵活的爬虫框架。基于它你可以很容易的编写一个爬虫。WebMagic由四个组件(Downloader、PageProcessor、Scheduler、Pipeline)构成,核心代码非常简单,主要是将这些组件结合并完成多线程的任务。这意味着,在WebMagic中,你基本上可以对爬虫的功能做任何定制。
2022-12-22 17:09:42
1116
原创 docker-compose安装gogs
使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的。在安装软件之前,我们需要自己新建一个gogs文件夹来存放软件,你想安装在那,我是放在/opt下面的。编写docker-compose.yml文件,把编写好的yml放到gogs文件夹下面,刚刚下载没有data文件夹,只有一个我们写好人yml文件,我的下载好的才有。在数据库键库, 我用的是mysql,你也可以选择gogs支持的其他数据库。不然就停止了,可以关掉这个窗口,直接重新开一个,看一下容器是否运行。
2022-12-17 13:21:12
1383
原创 java的浅拷贝和深拷贝
创建一个位置类 创建一个对象测试代码运行结果: 深拷贝就是要让原始对象和克隆之后的对象所具有的引用类型属性不是指向同一块堆内存,这里介绍两种实现思路。既然引用类型不能实现深拷贝,那么将每个引用类型都拆分为基本类型,分别进行浅拷贝。比如上面的例子,Person类有一个引用类型Address,在Address类内部也重写clone方法,代码如下。运行结果:运行结果: 因为序列化产生的是两个完全独立的对象,所有无论嵌套多少个引用类型,序列化都是能实现深拷贝的。
2022-12-06 14:33:12
181
原创 多线程学习笔记
6-1继承 Thread 类创建线程6-2实现Runnable接口创建线程6-3使用匿名内部类的形式创建线程6-4使用lambada表达式创建线程6-5使用Callable和 Futrue创建线程使用Callable和Futue线程可以获取到返回结果,底层基于LockSupport6-6使用线程池列如用Exrcutor框架 6-7spring @Asyn异步注解结合线程这个注解不能用test方法来测试,因为test方法底层是static方法,下面我是用controller
2022-12-06 00:09:17
456
原创 poi读写操作
poi读写操作 3.写入Excel03版本用的是HSSF,07版本用的是XSSF3-2.07版本xlsx 4.大数据导入4-1 03版本03版本耗时2.83秒(每个人电脑性能不一样) 03版本只能处理65536行,过程中写入缓存,不操作磁盘,写入速度快4-2 07版本07版本速度慢,写入耗内存,也会内存溢出,我电脑是 4.28秒,处理65536行。对于写入慢的问题,大文件可以写SCSSF,在写入过程中会
2022-12-04 20:59:27
1103
原创 python安装
Download Python | Python.org如果你电脑是Windows系统就点我选中这个行,这个默认是最新的版本, 建议用idm下载,你直接用浏览器下载很慢,迅雷也行,没有这些你就用浏览器下载 python的jdk安装很简单,选择第二个Customize installation 不然就是默认安装,不能修改安装路径新版安装如果你不需要修改安装目录,用默认的就先install Now,默认安装勾选环境直接下一步就不用管了,建议先第二个,可以自己修改路径这个页面 不用动 勾线前面五个,默认是勾选好的
2022-12-04 12:59:50
313
原创 Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cann
Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cann
2022-11-30 17:29:31
6519
原创 httpclient
HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。
2022-11-30 16:17:44
2148
原创 MySQL安装
MySQL官方提供了两种不同的版本:社区版本(MySQL Community Server)1)免费, MySQL不提供任何技术支持2)商业版本(MySQL Enterprise Edition)收费,可以使用30天,官方提供技术支持MySQL有两种安装方式,一种是解压版,一种是安装包版。
2022-11-29 14:49:11
2167
原创 集合框架----源码解读HashSet篇
该类实现了Set接口,由一个哈希表(实际上是一个Hash Map实例)作为后台。它不保证集合的迭代顺序;特别地,它并不能保证秩序会随着时间的推移而保持不变。该类允许空元素。该类为基本操作(添加、删除、包含和大小)提供了恒定的时间性能,假设哈希函数在桶之间适当分散元素。迭代这个集合需要的时间正比于Hash Set实例的大小(元素的个数)加上支持Hash Map实例(桶的数量)的"容量"之和。因此,如果迭代性能很重要,不要将初始容量设置得太高(或负荷系数过低)是非常重要的。注意,这种实现并不同步。
2022-11-29 10:34:36
276
原创 集合框架----源码解读LikedeHashMap篇
Hash表和链表实现Map接口,具有可预测的迭代顺序。该实现与HashMap的不同之处在于它维护了一个贯穿其所有条目的双向链表。该链表定义了迭代顺序,通常是键被插入到映射中的顺序(插入顺序)。注意,如果密钥被重新插入到映射中,插入顺序不会受到影响。当m . includekey ( k )在调用之前立即返回true时调用(如果m . put ( k , v ) ,则密钥k被重新插入到映射m中)。)
2022-11-29 00:28:22
339
原创 集合框架----源码解读LikedHashSet篇
Hash表和链表实现了Set接口,具有可预测的迭代顺序。该实现与HashSet的不同之处在于它维护了一个贯穿其所有条目的双向链表。该链表定义了迭代顺序,即元素插入集合的顺序(插入顺序)。注意,如果一个元素重新插入到集合中,插入顺序不受影响。当s .包含( e )在调用之前立即返回true时调用(如果s . add ( e ) ,则元素e重新插入到集合s中)。这种实现使其客户端免受HashSet提供的未指定的、通常是混乱的排序,而不会增加与TreeSet相关的成本。
2022-11-29 00:20:48
379
原创 集合框架----源码解读HashMap篇(一)
基于哈希表的Map接口实现。该实现提供了所有可选的映射操作,并允许空值和空键。(HashMap类大致相当于Hashtable,除了它是非同步的,并且允许为空值。)这个类不保证映射的顺序;特别是,它不能保证顺序随时间的推移保持不变。这个实现为基本操作(get和put)提供了恒定时间的性能,假设哈希函数将元素适当地分散到桶中。在集合视图上迭代所需的时间与HashMap实例的“容量”(桶的数量)加上它的大小(键-值映射的数量)成正比。
2022-11-28 22:23:33
543
原创 集合框架----源码解读LinkedList篇
双链表实现的list和Deque接口。实现所有可选的列表操作,并允许所有元素(包括null)。所有的操作都按照双链表的预期执行。索引到列表中的操作将从列表的开始或结束遍历列表,以更接近指定索引的为准。注意,这个实现不是同步的。如果多个线程并发访问一个链表,并且其中至少有一个线程在结构上修改了链表,那么它必须在外部同步。(结构修改是添加或删除一个或多个元素的任何操作;仅仅设置元素的值并不是结构修改。)这通常是通过在自然封装列表的某些对象上同步来实现的。如果不存在这样的对象,则应该使用集合“包装”列表。
2022-11-27 23:23:01
385
原创 集合框架----源码解读Vector篇
这个还是调grow方法进行扩容,这里就不细说了1.默认的初始化容量=10,每次扩容时2倍,可以设置每次扩容的容量。2.基于数组实现3.List接口下的子类4.vector是线程安全的(有上同步锁)
2022-11-27 19:09:35
497
原创 java泛型
1.Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。2.早期的时候,使用Object来代表任意类型。但是这样在向上转型的是没有问题的,但是在向下转型的时候存在类型转换的问题,这样的程序其实是不安全的。所以Java在JDK5之后提供了泛型来解决这个问题3.早期的时候,使用Object来代表任意类型。但是这样在向上转型的是没有问题的,但是在向下转型的时候存在类型转换的问题,这样的程序其实是不安全的。
2022-11-27 15:16:40
1127
原创 集合框架----源码解读ArrayList篇
1.ArrayList底层基于数组实现,根据index下标查询效率非常高2.增、删底层基于数组实现的扩容,缩容 效率也很低3.修改是方法是如果是根据index下标来修改所以效率高4.无法对结构进行修改5.每次缩容扩容会生成新的对象。
2022-11-27 00:20:42
560
原创 maven运行乱码,控制台运行乱码 idea,非法字符: ‘\ufeff‘需要class, interface或enum
idea出现乱码 主要分为3种1.代码中2.控制台3.maven运行框4.非法字符解决办法。
2022-11-13 17:53:29
2955
原创 idea无法识别注解,或pom文件异常
idea无法识别注解,或pom文件异常2.项目的pom文件没有识别,添加项目的maven,找到没有识别的pom文件,鼠标右键选择添加maven工程(翻译过来的意思)3.最后一种情况,很少见,项目某一个模块突然不识别了,但是maven里面有,你可以把模块移除,重新添加。1.看一下是不是自己不小心开启了,省电模式,取消√,恢复。
2022-11-10 23:12:46
4383
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人