java
.Passion
欢迎来看我的博客 ,原博客地址: https://www.cnblogs.com/lyr-2000/
现决定重新启用博客园的博客,一部分比较浅的笔记将写到这个博客上
欢迎打扰,另外,个人博客网站也搭建成功,欢迎打扰:
https://lyr-2000.github.io/
展开
-
一个神奇的正则表达式
/** * 匹配 {} 的字符串 */ private static final Pattern p = Pattern.compile("(?<=\\{)[^}]*(?=})"); @Test void testTemplate() { String x = "{user} ,<abc> ,(ttt) [xxx1],{ctx}{{ }"; Matcher matcher = p.matcher(x); ..原创 2021-02-11 17:59:27 · 100 阅读 · 0 评论 -
jsqlparser 修改sql语句
@Test void changeTable() throws JSQLParserException { String xxx = " AUTO_INCREMENT "; CreateTable createTable = (CreateTable) CCJSqlParserUtil.parse(" CREATE TABLE `t_student` (\n" + " `student_id` int(10) unsigned NO原创 2020-12-14 19:28:41 · 1487 阅读 · 0 评论 -
java 运行 CMD 命令
package juc;import lombok.AllArgsConstructor;import lombok.ToString;import lombok.extern.slf4j.Slf4j;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.util.concurrent.Semaphore;import java.ut..原创 2020-12-14 16:21:20 · 158 阅读 · 0 评论 -
#io#io写出文本不换行
使用Java的FileWriter写文件,需要换行时,假设已经新建FileWriter fr,在Windows操作系统中,fr.write("\n"); 是不行的,需要 fr.write("\r\n"); 即回车换行而在Linux系统中,只要 fr.write("\n");可以 通过 System.getProperty(“line.separator”); 获得换行符号。示例代码 public void outPutCommonFile(String outPath,JavaClassFileM原创 2020-08-15 12:52:11 · 204 阅读 · 0 评论 -
#java#nio#nio的基本概念
NIO 1: jsr51, jdk 1.4的时候引入NIO1NIO2: jsr 203JDK 7的时候引入NIO2NIO2的时候引入了异步 io ,也就是 Asynchronous IOjava bio 是面向流的,没有缓存区的,属于阻塞IOnio 是面向缓冲区的, 有一个 selectors选择器的概念NIO 3大核心组件bufferchannelselectorjava nio 复杂的地方就是 读写模式混合在一起了,放到了一个数组里面通过 flip 操作 进行读写原创 2020-08-07 11:49:02 · 165 阅读 · 0 评论 -
#java#bio#简单实现的echo server
/** * @Author lyr * @create 2020/8/7 1:07 */public interface EchoServer { /** * 开启 port 端口的服务 * @param port */ void startServer(int port) throws IOException;}public interface EchoClient { void connect(String ipAddr,int po原创 2020-08-07 11:13:29 · 126 阅读 · 0 评论 -
dom4j解析xml
<dependencies> <!-- https://mvnrepository.com/artifact/dom4j/dom4j --> <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1&l原创 2020-06-24 18:30:41 · 167 阅读 · 0 评论 -
Java下载网络图片
public static void main(String[] args) throws MalformedURLException { String path = "https://profile.csdnimg.cn/3/6/4/1_qq_43923045"; String path2 = "F:\\妹子1\\testJava\\SpiderJava\\src\\main\\resources\\txt\\blog.csdn.net\\b.jpg"; U原创 2020-06-24 09:32:27 · 382 阅读 · 1 评论 -
爬虫项目文本提取处理
package spider.common.annotation;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;/** * @Author lyr * @create 2020/6/24 0:23 */@Retention(RetentionPolicy.RUNTIME)//要打上 runtime注解,不然会空指针异常public @interface HtmlSelec原创 2020-06-24 01:15:58 · 514 阅读 · 0 评论 -
webmagic文本处理(爬虫项目)
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/mav原创 2020-06-23 21:40:14 · 282 阅读 · 0 评论 -
模仿spring反射注解注入属性
package reflect;import lombok.Data;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.reflect.Field;/** * @Author lyr * @create 2020/5/1 0:45...原创 2020-05-01 00:56:55 · 197 阅读 · 0 评论 -
深入理解链式编程
什么是链式编程?doFunc(x).andThen().andThen().andThen();这种思想,在 JQuery 中是深入应用返回值是这个对象他本身那么 是用 java 8的函数式编程,其实可以很轻易的实现这种链式编程的思想,其实就是 将 一个函数的返回值,当成另一个函数的入参比如int y1 = func(x)int y2 = func(y1)int y3 = fun...原创 2020-04-20 14:35:46 · 2417 阅读 · 0 评论 -
LocalDateTime 转时间戳
@Test public void printSS() { LocalDateTime date = LocalDateTime.of(2020,6,7,12,3,4,4); System.out.println(date.toInstant(ZoneOffset.of("+8")).toEpochMilli()); }15915025...原创 2020-03-30 15:43:18 · 1960 阅读 · 0 评论 -
java8动态代理
/** * @Author lyr * @create 2020/3/29 12:04 */public interface Axe { void chop();}/** * @Author lyr * @create 2020/3/29 12:04 */public class StealAxe implements Axe { @Override ...原创 2020-03-29 12:23:46 · 287 阅读 · 0 评论 -
java 自定义注解(手写框架的前提)
首先: 打上定义个 A注解package visitor;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Targe...原创 2020-03-24 23:35:27 · 415 阅读 · 0 评论 -
基于FileChannel的文件拷贝写法
package file;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.nio.ByteBuffer;import java.nio.channels.FileChannel;/**...原创 2020-02-27 23:20:52 · 143 阅读 · 0 评论 -
java channel文件写入
package file;import java.io.FileOutputStream;import java.io.IOException;import java.nio.ByteBuffer;import java.nio.channels.FileChannel;/** * @Author lyr * @create 2020/2/27 19:43 */public ...原创 2020-02-27 22:49:45 · 432 阅读 · 0 评论 -
验证码工具类
package com.ywfcake.demo.util;import java.awt.*;import java.awt.image.BufferedImage;import java.util.HashMap;import java.util.Map;import java.util.Random;/** * @Author lyr * @create 2020/2/2...原创 2020-02-25 16:59:45 · 127 阅读 · 0 评论 -
java nio遍历文件夹
package app;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.nio.file.*;import java.nio.file.attribute.BasicFileAttributes;/** * @Author lyr * @create 2019/1...原创 2020-02-21 14:14:00 · 934 阅读 · 0 评论 -
spring 线程的使用
恭喜你捡到宝藏@Async的使用转载 2020-02-05 02:54:04 · 196 阅读 · 0 评论 -
Stream api 2
1.手动创建流@Test public void printStream() { Stream<String> stream = Stream.<String>builder() .add("123") .add("123") .build();...原创 2019-11-11 22:08:27 · 99 阅读 · 0 评论 -
java8 的日期api
java 8提供了一套更加方便的日期api ,而之前 的 simpleDateFormat 等等线程不安全,所以推荐学习新的api ,主要有LocalDate,LocalTime,还有 LocalDateTimelocalDate 只是显示日期, localTime 显示 时分秒,LocalDateTime 所有的都显示打印当前时间:@Test public void prin...原创 2019-11-11 21:16:02 · 108 阅读 · 0 评论 -
Stream api
map (mapToInt, flatMap 等)、 filter、 distinct、 sorted、 peek、 limit、 skip、 parallel、 sequential、 unordered原创 2019-11-11 20:45:49 · 157 阅读 · 1 评论 -
lambda 表达式引用的本地变量必须是最终变量或实际最终变量
把修改 num的 代码注释掉就不报错了,原因:就算不加上 final,jdk也会默认把它当成 final因此,在写代码的时候要注意,引用外面的变量是默认加了 final的声明...原创 2019-11-10 14:12:16 · 3193 阅读 · 0 评论 -
js如何获取 basePath
在jsp中,获取basePath 的脚本是这样的:<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>这是,如果我要用 HTML,...原创 2019-10-29 21:13:20 · 662 阅读 · 0 评论 -
java 如何将多个文件导出压缩包
websocket 入门编程导出压缩包看代码: public static void export(Result result, String exportPath, LinkedList<File> list) { File zipFile = new File(exportPath); boolean b = zipFile.ex...原创 2019-10-26 14:53:30 · 661 阅读 · 0 评论 -
遍历文件夹文件的工具类
package com.repairsys.util.file;import com.repairsys.bean.vo.Excel;import com.repairsys.bean.vo.Result;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.*;import java.uti...原创 2019-10-26 13:32:06 · 397 阅读 · 0 评论 -
session和cookie的区别
一句话:session放在服务器,cookie放在浏览器使用session和cookie 的目的 就是为了记录用户的登录状态session放在服务器里面,通过一个session Id来获取session存放的值我们看看java里面的 HttpSession 的接口,提供了一个 getId的方法,我们在 servlet里面调用 request.getSession.getId()来打印一...原创 2019-10-02 17:48:35 · 125 阅读 · 0 评论 -
Logger的使用
<!-- 引入Logger包 --> <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --> <dependency> <groupId>org.slf4j</groupId> ...原创 2019-09-28 15:01:54 · 1597 阅读 · 0 评论 -
中断 和守护线程
线程的状态和中断线程停止线程的方法已过时:stop方法事实是 应该使用 interrupt方法去终断线程看着张图wait 和 sleep对应着线程的等待interrupt并不代表线程的死亡interrupt 中断并不是停止线程而 nterrupet 的功能是:将线程的冻结状态清除,让线程恢复到运行状态关于 interrupt和阻塞态interrupt和cancelinter...原创 2019-09-09 00:02:57 · 229 阅读 · 0 评论