JavaDemos
文章平均质量分 58
与java相关的代码例子
FlyLikeButterfly
只要代码敲的足够快,BUG就追不上我;
展开
-
JavaDemo——使用LinkedHashMap实现简单的Cache
使用LinkedHashMap实现简单的Cache;原创 2023-08-31 14:37:40 · 196 阅读 · 0 评论 -
JavaDemo——使用jks的https
java中使用jks和https原创 2023-07-21 10:56:02 · 717 阅读 · 0 评论 -
JavaDemo——AES对称加密
AES加密java代码;原创 2023-04-11 17:32:31 · 396 阅读 · 0 评论 -
JavaDemo——使用机器人发送微信消息
使用机器人发送微信消息;原创 2022-11-22 12:12:40 · 2466 阅读 · 1 评论 -
JavaDemo——设置控制台输出字符颜色和格式
控制台打印带格式和颜色的字符;原创 2022-11-02 17:52:08 · 1742 阅读 · 0 评论 -
JavaDemo——关于BigDecimal类
BigDecimal原创 2022-07-29 15:58:17 · 191 阅读 · 0 评论 -
JavaDemo——java线程池
之前曾给公司的小伙伴们讲过java线程池,遂把ppt拷过来;线程池状态•RUNNING线程池创建后就是running状态;可以处理已添加的任务,可以新添加任务;•SHUTDOWN调用线程池的shutdown()后;可以处理已添加的任务(正在执行和队列里),不可以新加任务了;•STOPrunning或者shutdown状态调用线程池的shutdownNow()后;给正在执行的任务发中断指令,不处理队列里的任务,不可添加新任务;•TIDYINGshutdown原创 2022-01-05 11:39:41 · 843 阅读 · 0 评论 -
JavaDemo——使用Guava的RateLimiter进行限流
RateLimiter限流原创 2021-12-22 10:46:31 · 1125 阅读 · 0 评论 -
JavaDemo——使用XStream在java对象与xml之间转换
XStream是基于OXMapping技术,在xml和java对象之间序列化和反序列化的一个库,使用简单,对java对象要求少,没有共有私有或者构造方法上的要求,还支持json转化;使用XStream需要maven引用: <dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream</artifactId>原创 2021-08-27 16:46:39 · 669 阅读 · 0 评论 -
JavaDemo——自定义Netty编解码器
代码使用的是5.0.0.Alpha2版本netty服务端Demo:/** * createtime : 2021年7月21日 下午3:20:22 */package com.testnetty.testmycodec;import java.util.Base64;import java.util.Date;import java.util.List;import io.netty.bootstrap.ServerBootstrap;import io.netty.buffer原创 2021-07-21 16:27:26 · 251 阅读 · 0 评论 -
JavaDemo——Netty的HttpServer
maven导入: <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>5.0.0.Alpha2</version> </dependency>demo:/** * 2021年7月20日下午4:17:58 */package testN原创 2021-07-20 17:15:59 · 161 阅读 · 0 评论 -
JavaDemo——使用Proxy动态代理
demo:/** * 2021年6月2日上午10:25:36 */package testProxy;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;/** * @author XWF * */public class TestProxy { /** * @param args */ public s原创 2021-07-06 16:40:48 · 160 阅读 · 0 评论 -
JavaDemo——java管道
java管道用于Thread间单向通信;一、jdk1.4之前使用io包里的pipedStreamDemo:/** * 2021年5月12日下午2:46:39 */package testPipe;import java.io.IOException;import java.io.PipedInputStream;import java.io.PipedOutputStream;/** * @author XWF * */public class TestPipedSt原创 2021-05-13 16:54:45 · 180 阅读 · 0 评论 -
JavaDemo——关于javaagent的使用
一、使用javaagent参数启动java程序使用方法:1、agent类需要实现特定方法,实现public static void premain(String args, Instrumentation instrumentation) 或者public static void premain(String args)(优先两个参数的方法,找不到则执行一个参数的方法)2、jar包里的MF文件需要指定Premain-Class为agent类(Can-Redefine-Classes和C.原创 2021-05-07 16:44:44 · 662 阅读 · 2 评论 -
JavaDemo——探索CORBA的IDL与Java的应用
最近接触了一个C++项目,里面有个以.idl后缀的文件,于是查阅了一下,发现是CORBA技术的一部分,一个十分古老的技术,用作远程调用,现在都很少接触到,能查阅的资料也不是很多,后来发现java也支持这个技术,探索下做个笔记;IDL(Interface description language)文件可以用idlj.exe转化成java文件,以供java调用,idlj.exe命令在jdk的bin目录下(jdk7到jdk10都有,jdk11移除了);idlj.exe用法:编译器用法: j原创 2021-04-21 19:06:21 · 881 阅读 · 0 评论 -
JavaDemo——自定义类加载器加载class文件
先准备一个正确的class文件:先在E:\Temp\javatest目录写了一个简单的java文件并生成一个合法的class文件:javaDemo:/** * 2021年4月1日下午5:06:10 */package testClsLoader;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.lang.reflect.Method;/**原创 2021-04-01 18:02:39 · 351 阅读 · 0 评论 -
JavaDemo——使用jsoup解析html
今天看文章发现一个叫Jsoup的东西,解析html很好用,听说用来爬虫;官网:https://www.open-open.com/jsoup/demo:/** * 2020年10月27日下午2:36:20 */package testJsoup;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.net.URI;import java.net.http.Ht原创 2020-10-27 17:02:46 · 181 阅读 · 0 评论 -
JavaDemo——使用w3c.dom操作xml
demo:用来读取的xml:<?xml version="1.0" encoding="UTF-8"?><hello> <world id="1">textnode1<name type="X">A</name>TEXTnode2<size>111</size> text3 </world> <world id="2"> <name type="X"&原创 2020-10-20 16:40:18 · 395 阅读 · 1 评论 -
JavaDemo——获取系统网卡和ip
demo:/** * 2020年9月16日上午10:47:14 */package testgetip;import java.io.IOException;import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.net.UnknownHostException;import java.util.Enumeration;/**原创 2020-09-28 14:22:06 · 241 阅读 · 0 评论 -
JavaDemo——slf4j搭载log4j2
maven导入:<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> <version>2.13.3</version> </dependency> <dependency> <groupId>or原创 2020-08-21 17:50:52 · 345 阅读 · 0 评论 -
JavaDemo——Java通过Jython调用py脚本
maven导入:<!-- https://mvnrepository.com/artifact/org.python/jython-standalone --> <dependency> <groupId>org.python</groupId> <artifactId>jython-standalone</artifactId> <version>2.7.2</versi原创 2020-07-24 17:55:44 · 492 阅读 · 0 评论 -
JavaDemo——Java通过Runtime调用py脚本
python脚本test.py:#!/usr/bin/env python3# coding=utf-8# import sys# import os# curpath = os.path.abspath(os.path.dirname(__file__))# sys.path.append(os.path.split(curpath)[0])print('测试+++hello python')javaDemo:/** * 2020年7月3日上午10:57:19 */原创 2020-07-03 16:34:42 · 183 阅读 · 0 评论 -
JavaDemo——哈夫曼树
哈夫曼树构造过程:列表里选出权重(或者出现次数)最低的两个,构成新树的左右子节点,新树父节点的权重为这两个子节点权重之和,将父节点(树)丢进列表里,重复操作,最后列表只剩一个,即哈夫曼树,所有子树的左边标0右边标1,节点的路径即哈夫曼编码;Demo:package testHuffman;import java.util.Comparator;import java.util.HashMap;import java.util.Map;import java.util.Priority原创 2020-07-03 15:05:48 · 166 阅读 · 0 评论 -
JavaDemo——汉字转拼音
maven导入:<!-- https://mvnrepository.com/artifact/com.belerweb/pinyin4j --> <dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>2.5.1</version> </原创 2020-07-03 14:26:15 · 154 阅读 · 0 评论 -
JavaDemo——byte转2进制的一些方法
demo:/** * 2020年3月30日下午3:17:14 */package testByteToBinary;/** * @author XWF * */public class TestByteToBinary { /** * @param args */ public static void main(String[] args) { byte...原创 2020-04-30 19:12:11 · 367 阅读 · 0 评论 -
JavaDemo——一些获取路径的方法
1.在eclipse中测试Demo:/** * 2020年2月25日上午10:33:41 */package testGetPaths;/** * @author XWF * */public class TestGetPaths { /** * @param args */ public static void main(String[] args) {...原创 2020-02-25 11:18:04 · 214 阅读 · 0 评论 -
JavaDemo——修改文件名
前段时间遇到个批量修改文件名的问题,做下笔记。Demo:/** * 2019年9月10日下午5:11:57 */package testRenameFiles;import java.io.File;/** * @author XWF * */public class TestRenameFiles { private static String path = ...原创 2020-01-08 17:44:00 · 192 阅读 · 0 评论 -
JavaDemo——通过jna使用dll的回调函数
一、c++部分首先编写测试用的dll头文件MyDll.h#include <iostream>using namespace std;extern "C" { __declspec(dllexport) typedef void(*mycallback)(char* chptr, int z); __declspec(dllexport) void* t...原创 2019-12-26 10:45:08 · 1303 阅读 · 4 评论 -
JavaDemo——使用commons.net的ftp功能
添加maven依赖:<dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.6</version> </dependency>...原创 2019-12-23 10:33:39 · 310 阅读 · 0 评论 -
JavaDemo——用Build模式构造对象
一个对象的属性过多,用构造方法构造不同的对象就会出现参数个数和类型相同参数含义不同的问题,导致无法重写构造方法,又不想一直set,最后就可以用Build模式构造。Demo:/** * 2019年10月31日上午10:29:11 */package testBuildObj;/** * @author XWF * */public class TestBuildObjec...原创 2019-11-07 16:16:59 · 1120 阅读 · 0 评论 -
JavaDemo——统计文件数量和行数
之前无聊想看看项目大小,写了个demo玩:package testcountjava;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public...原创 2019-10-18 17:24:08 · 403 阅读 · 0 评论 -
JavaDemo——java的HttpServer简单使用
Demo1:/** * 2019年8月16日上午9:49:10 */package testHttpServer;import java.io.IOException;import java.net.InetSocketAddress;import java.net.URI;import com.sun.net.httpserver.HttpContext;import ...原创 2019-08-19 16:58:11 · 3918 阅读 · 0 评论 -
JavaDemo——slf4j搭载log4j简单使用
maven引入:<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.12</version> </dependency> <depende...原创 2019-04-18 17:15:13 · 479 阅读 · 0 评论 -
JavaDemo——java调用Linux命令
Demo:/** * createtime : 2018年9月6日 下午5:14:20 */package com.useLinuxCmd;import java.io.IOException;/** * TODO * @author XWF */public class TestLinuxCmd { /** * @param args */ public...原创 2018-09-06 17:44:43 · 391 阅读 · 0 评论 -
JavaDemo——并发工具之Semaphore
许可管理?有点像锁,拿到许可往下执行,拿不到阻塞,最后释放许可。Demo:/** * 2019年8月9日上午10:04:41 */package testThreadUtil.testSemaphore;import java.util.concurrent.Semaphore;import java.util.stream.IntStream;/** * @autho...原创 2019-08-09 17:49:33 · 294 阅读 · 0 评论 -
JavaDemo——并发工具之CyclicBarrier
控制多个线程达到同一条件结束阻塞往下执行,设定值,调用await次数达到设定值,所有await往下执行。容易异常,reset可重置。Demo:/** * 2019年8月9日上午10:04:26 */package testThreadUtil.testCyclicBarrier;import java.util.concurrent.BrokenBarrierException...原创 2019-08-09 17:46:08 · 243 阅读 · 0 评论 -
JavaDemo——并发工具之CountDownLatch
倒计时器?设定计数,使用await阻塞,使用countDown计数减1,直到计数减为0,所有await阻塞结束并往下执行。类似go语言里的WaitGroup,CountDownLatch不能重复利用。Demo:/** * 2019年8月9日上午10:04:03 */package testThreadUtil.testCountDownLatch;import java.uti...原创 2019-08-09 17:38:03 · 272 阅读 · 0 评论 -
JavaDemo——枚举实现职责链
demo:/** * 2018年10月16日下午6:12:20 */package testenum;/** * @author XWF * */public class TestEnumChain { /** * @param args */ public static void main(String[] args) { ENUM_CHAIN.doHa...原创 2018-10-30 15:03:45 · 265 阅读 · 0 评论 -
JavaDemo——表驱动
参考:https://blog.csdn.net/chgaowei/article/details/6966857简单Demo:/** * 2018年10月16日下午6:04:29 */package testDataDrive;import java.util.ArrayList;import java.util.List;/** * @author XWF * ...原创 2018-10-16 18:11:00 · 1603 阅读 · 0 评论 -
JavaDemo——读写文件
写文件Demo:/** * createtime : 2018年9月29日 上午9:55:12 */package filetest;import java.io.BufferedOutputStream;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException...原创 2018-09-30 15:16:31 · 935 阅读 · 0 评论