Java
fancy橙子
随心随缘记笔记。
展开
-
Java多线程的实现和同步死锁
package threadTest;/** * @author : fanpc * @date : 2020-12-11 10:59 **/import java.io.File;import java.io.IOException;import org.apache.commons.io.FileUtils;public class FileCopy implements Runnable { public void run() { for (int i原创 2020-12-14 16:35:51 · 1117 阅读 · 0 评论 -
Java复制文件夹和里面所有文件
最近在做全链路压力测试,涉及到风控OCR的校验,需要造一些数据,每次发起交易,系统会去读取文件夹里的OCR数据(数据不需要和人名匹配,这个校验被我mock掉了)需要造的数据是:10万个文件夹,内含OCR数据文件如图所示,可以从一个现有文件夹copy。找了一些Java复制文件的代码,基本上都是输入输出流操作,而且有的错误很多,试了下在window下调试需要挺长时间,于是另辟蹊径,想想调了Runtime 这个偷懒又简单的办法,代码如下:package createCard;import java.i原创 2020-12-08 11:35:12 · 405 阅读 · 0 评论 -
Java进行Hbase查询
Hbase存储结构和查询方式已经有所了解,如何调用连接并且进行数据查询呢,这里使用jmeter脚本进行操作:Hbase查询主要是scaner通过滤器filter进行操作,根据要查询列族还是rowkey可分为多种filter,可根据具体条件来进行查询,放个filter比较全的链接,有兴趣可以参考:https://www.jianshu.com/p/bcc54f63abe4以下为代码,包括rowkey前缀模糊查询+列前缀模糊查询+值范围查询等几个组合查询,多个filter可以放到一个list里,单个filt原创 2020-11-20 15:06:03 · 1940 阅读 · 0 评论 -
Java面试常问的字符串反转问题
突然想起来之前面试被问到字符串的反转问题,当时啥也不会蠢死了没写出来,丢人。。。今天写俩解决办法:public static void main(String[] args) { String a="qwertyuio"; //直接StringBuffer的reverse()反转方法,清晰明了 StringBuffer stringBuffer=new StringBuffer原创 2020-08-31 15:32:28 · 244 阅读 · 0 评论 -
Java使用log4j输出标准化日志
最近做的项目要输出标准化日志,查了下使用log4j比较好用,记录一下,使用很简单,需要下载并导入log4j的jar包,官网有,按需下载:下载地址import org.apache.log4j.Logger;public class Testlinux { public static Logger logger1 = Logger.getLogger(Testlinux.class); public static void main(String[] args) {原创 2020-08-31 14:17:51 · 577 阅读 · 0 评论 -
Java字符串的查找、截取与分割操作
查找子串可以使用indexOf()方法,截取指定字符串可以使用substring()方法,分割子串可以使用split()方法,例子如下:public class Test { public static void main(String[] args) { String str="1qaz2wsxzaq12wsx"; System.out.println("查找:"); //查找指定字符第一次出现的位置,参数为字符的ascii码 a-97原创 2020-08-31 11:28:01 · 839 阅读 · 0 评论 -
Java map的单映射和多映射
我们知道,在Java里使用map可以添加单个的映射关系,调用get方法可输出key对应的value:Map<String, String> map = new HashMap (); map.put ( "key", "value" );那么如果想要添加一对多映射或者多对多映射呢?可以使用 MultiValueMap接口的实现类LinkedMultiValueMap来进行操作:import org.springframework.util.LinkedMultiValu原创 2020-08-28 11:05:52 · 637 阅读 · 0 评论 -
Java读取Linux实时文件阻塞的一个折中解决办法
其实也是无奈之举,远程连接Linux,通过bufferReader()不能获取到实时刷新的输出,获取不到换行符,造成readline()函数阻塞,网上查了下,没有很好的解决办法,使用read也获取不到,于是用了一种比较折中的办法:首先是远程执行命令的executeBack()方法,这个之前有写过,不再说啥了:public String executeBack(String ip, String cmd) { String username = "root"; String原创 2020-08-27 09:49:28 · 330 阅读 · 0 评论 -
Java中的read()和readline()方法
read()把字节读取成字符,按字符进行读取输出流,readline()按行读取,直到读到空格或者换行符停止。这俩可以互换使用,readline速度略慢,直接写两个使用的例子吧://本地调用命令行时,按字符读取 Runtime run = Runtime.getRuntime (); Process process = run.exec ( cmd ); InputStream in = process.getInp原创 2020-08-18 11:48:51 · 11294 阅读 · 0 评论 -
Java远程连接linux的方法,执行命令并输出结果
需要先导入ssh bulid包,方法如下:import ch.ethz.ssh2.Connection;import ch.ethz.ssh2.Session;import ch.ethz.ssh2.StreamGobbler;public String execute(String ip, String cmd) { String username = "root"; String password = "password"; try {原创 2020-08-14 10:53:18 · 687 阅读 · 0 评论 -
Java本地连接linux,执行命令并输出结果
Java本地执行linux命令的方法,程序如下: public String executeLinuxCmd(String cmd) { System.out.println("开始执行命令: " + cmd); Runtime run = Runtime.getRuntime(); try { Process process = run.exec(cmd); InputStream in = proce原创 2020-08-12 14:14:59 · 317 阅读 · 0 评论 -
Java绕过证书访问https的方法
代码如下:package httpstest;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintStream;import java.io.PrintWriter;import java.net.URL;import java.security.SecureRandom;import javax.net.ssl.Host原创 2020-07-27 10:50:07 · 1729 阅读 · 0 评论 -
IDEA在import时飘红的解决办法
额,写给纯小白,IDEA在import时飘红,cannot resolve symbol,应该都知道是缺jar包的问题,导入就好了,具体步骤如下:File-project structure-modules,然后点击右侧加号,添加一条jar包你需要知道缺的是哪个包,这个上网查一下就知道了,然后导入对应的包,我这个缺的是httpcore导入完成,可以看到已经不再飘红。。。...原创 2020-07-27 10:19:23 · 6619 阅读 · 0 评论 -
Java连接mysql数据库并执行sql语句
弄这个主要是为了方便测试单个sql的性能,尝试用java连接数据库并查询,将结果的JDBC ResultSet结果集转成List并输出。import java.sql.*;import java.sql.DriverManager;import com.mysql.jdbc.Connection;import java.util.List;import java.util.ArrayList;import java.util.Map;import java.util.HashMap;pub原创 2020-06-22 16:25:46 · 4824 阅读 · 0 评论 -
Java的重载与重写不用我多说了8
重载:同一个类中包含了两个或两个以上方法名相同的方法,但是参数的列表不同,这种情况被称为方法重载(overload)。返回值类型、修饰符等,与方法重载没有关系,只与参数列表有关。如:public void Overload(int a, int b) {}public void Overload(int a, float b) {}public void Overload(int a, int b,int c) {}public int Overload(int a, int b) {原创 2020-06-12 15:26:22 · 139 阅读 · 0 评论 -
Java接口
Java接口可以理解为一个特殊的抽象类。定义:Java 接口的定义方式与类基本相同,不过接口定义使用的关键字是 interface,接口定义的语法格式如下:[public] interface interface_name [extends interface1_name[, interface2_name,…]] { // 接口体,其中可以包含定义常量和声明方法 [public] [static] [final] type constant_name = value; //原创 2020-06-12 14:19:15 · 216 阅读 · 0 评论 -
Java抽象类
在 Java 中抽象类的语法格式如下:<abstract>class<class_name> { <abstract><type><method_name>(parameter-iist);}其中,abstract 表示该类或该方法是抽象的;class_name 表示抽象类的名称;method_name 表示抽象方法名称,parameter-list 表示方法参数列表。抽象方法没有方法体抽象方法必须存在于抽象类中子类重写父类时原创 2020-06-12 10:49:10 · 833 阅读 · 0 评论 -
Java replacAll()方法
使用Java replaceAll方法如何将字符串中的"“替换成”\": String a; String b; b=a.replaceAll("\\\\","\\\\\\\\"); 原因:单斜杠\在java中是一个转义字符,然后打出双斜杠表示是一个\字符。replaceAll()方法如果想要正确的通过编译使用转义字符,则还需将“\”再转义下,即在“\”的前面加上“\”...原创 2020-05-19 09:50:06 · 407 阅读 · 0 评论 -
Java文件操作晓练习
题目:在电脑D盘下创建一个文件为HelloWorld.txt文件,判断他是文件还是目录,再创建一个目录IOTest,之后将HelloWorld.txt移动到IOTest目录下去;之后遍历IOTest这个目录下的文件。解:import java.io.IOException;import java.io.File;public class FileUtils { public static void main(String[] args) throws IOException {原创 2020-05-12 10:00:41 · 293 阅读 · 0 评论 -
一看就会,Java indexOf() 方法
Java里的indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。//可用于json串里检索是否包含特定返回值,包含则返回位置,否则返回-1JsonObject.indexOf("freezeValidityDays")>0从头到尾地检索字符串 stringObject,看它是否含有子串 value。开始检索的位置在字符串的 fromindex 处或字符串的开头(...原创 2020-04-23 11:45:12 · 471 阅读 · 0 评论 -
抽象类和接口有什么区别?
抽象类和接口的区别:抽象类中的方法可以有方法体,实现方法的具体功能,但是接口中的方法需要通过接口实现类来实现。抽象类中的成员变量类型没有限制,接口中的成员变量只能是 public static final 类型的。接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。一个类只能继承一个抽象类,而一个类却可以实现多个接口(间接实现了多继承)。...原创 2020-05-11 16:13:00 · 202 阅读 · 0 评论 -
Java里this的作用理解
看例子就懂了: private String idNo; public String getidNo() { return this.idNo; } public void setidNo(String paramString) { this.idNo = paramString; }this指的是类的实例,调用对象,例子里set为传参赋值,get获取string值。...原创 2020-04-21 17:00:04 · 2982 阅读 · 0 评论 -
JAVA构造函数
构造函数主要用于创建对象的初始化,在new一个对象并传参时,java会自动调用构造函数并完成参数的初始化。package test;public class Test { private String name; public Test(String name) { this.name = name; } public static void main(String[] args) { Test t=new Test("fancy");原创 2020-06-11 15:40:39 · 324 阅读 · 0 评论