java 初级
文章平均质量分 77
fusugongzi
这个作者很懒,什么都没留下…
展开
-
采用logback打印日志遇到的问题总结
最近在项目问题排查过程中发现,日志显示的程序执行时间 远大于 程序中计算的耗时,程序示例如下:private static final Logger LOGGER = LoggerFactory.getLogger(Test.class); public static void main(String[] args) throws InterruptedException { LOGGER.info("start"); long start = System.原创 2021-03-04 10:33:57 · 1481 阅读 · 2 评论 -
kafka消息丢失
mq和kafka介绍:https://juejin.im/post/6844903849099018253最近使用kafka过程中发现了一个问题:前提:已经关闭了auto commit,改为消费成功消息后手动commit假设kafka topic目前的消息偏移量是30,目前某个consumer group消费到了偏移量为26的消息,当消费偏移量为27的消息时失败,此时消费的消息偏移量不会提交,如果此时重启系统,可以重新消费偏移量为27的消息,如果此时不重启系统,则会继续消费27以后的消.原创 2020-08-11 11:43:10 · 182 阅读 · 0 评论 -
maven引入本地包并且将所有的依赖包打包到jar包里面
1.maven引入本地包(1)将本地到包安装到本地mvn install:install-file -Dfile=./ice-java-sdk-1.8.0-RELEASE.jar -DgroupId=com.qihoo.finance -DartifactId=ice-java-sdk -Dversion=1.8.0-RELEASE -Dpackaging=jar将file,group...原创 2020-05-07 15:23:18 · 668 阅读 · 0 评论 -
java实现冒泡排序和快速排序
一、冒泡排序int []a={2,4,3,5,8,0};for(int end=a.length-1;end>0;end--){ for(int j=0;j;j++){ if(a[j]>a[j+1]){ int tmp=a[j]; a[j]=a[j+1]; a[j+1]=tmp;原创 2017-12-21 14:43:01 · 278 阅读 · 0 评论 -
mooc浙大翁恺java课程第一周作业
作业描述:http://www.icourse163.org/learn/ZJU-1001542001?tid=1002311011#/learn/ojhw?id=1002886192答案:import java.util.Scanner;public class Main { public static void main(String[] args)原创 2017-12-11 16:20:22 · 1690 阅读 · 0 评论 -
java利用jcraft实现和远程服务器交互,实现上传下载文件
git地址:https://github.com/fusugongzi/upLoadAndDownloadFile第一步:引入maven支持,添加maven依赖 com.jcraft jsch 0.1.54第二步:写一个类sshconfiguration,作用是存储要登录机器的host,port,username.pwd原创 2017-09-18 15:41:47 · 7897 阅读 · 1 评论 -
java实现发送邮件
第一步:引入pom支持 javax.mail mail 1.4.7第二步:函数package com.cafintech.email;import javax.mail.Address;import javax.mail.Message;import javax.mail.Session;import javax.mail.原创 2017-08-30 16:36:43 · 413 阅读 · 0 评论 -
正则表达式解析
String finalSql="table23=select * from table where id =10 ";Matcher m = Pattern.compile("([a-zA-Z_]\\w*) *= *([a-zA-z].+)").matcher(finalSql);if(m.find()){ System.out.println(m.group(1)); Sy原创 2017-08-15 14:54:41 · 172 阅读 · 0 评论 -
java得到一个类及其父类的属性和属性类型
public static void getObjectFields(Object object){ try { Class objectClass=object.getClass(); Field []fields=objectClass.getDeclaredFields(); Field []fields原创 2017-08-18 14:22:34 · 995 阅读 · 0 评论 -
java通过映射取得方法对一个类的变量进行赋值
备注:如果是int型的类变量,则set方法的传参应该是Integer类型而非 int类型代码:/** * params object:进行赋值的对象 field:复制的属性 value:赋予的值 * */public static void setFieldValue(Object object,String field,Object value){ cha原创 2017-08-18 14:20:58 · 2425 阅读 · 0 评论 -
Spring boot +mybatis 实现声明式事务管理
在项目中,一个函数需要进行两条sql操作,两条sql操作为一个整体,期望是要不一起执行,要不都不执行,所以引入了事务管理。遇到的问题&未解决的坑:在一个@service实现了一个事务管理的函数,发现在另一个service里面添加此方法的@Autowired注解,事务管理失效解决办法:在@controller层调用此方法时添加 @Transactional原创 2017-08-17 11:30:18 · 2101 阅读 · 4 评论 -
java通过配置文件连接数据库
1.项目结构:2.配置文件内容:DRIVER_CLASS=com.mysql.cj.jdbc.DriverCONNECTION_URL=CONNECTION_USERNAME=CONNECTION_PASSWORD=3.maven依赖 mysql mysql-connector-java 6.0.6原创 2017-06-15 11:40:15 · 1028 阅读 · 0 评论 -
java static关键词作用解析
http://www.cnblogs.com/dolphin0520/p/3799052.html转载 2017-12-15 15:16:44 · 213 阅读 · 0 评论 -
mac 修改单个进程打开的句柄个数
由于公司项目在本地mac测试的时候多线程向几百个网站发出请求,所以mac报错,open too many files,mac打开的文件句柄数目过多,导致项目报错,所以需要修改mac的单个进程能打开的最大句柄数目。步骤:终端执行$su 切换到root账户#launchctl limit maxfiles 99999 99999#ulimit -n 99999#exit退出终端,重新启动,终端下查看u...转载 2018-03-21 21:36:10 · 3699 阅读 · 1 评论 -
spring boot启动较慢
1.linux启动spring boot时发现启动较慢,日志如下:2019-09-20 11:24:04.838 INFO [localhost-startStop-1] [org.apache.juli.logging.DirectJDKLog.java:179] - Creation of SecureRandom instance for session ID generation u...原创 2019-09-20 13:22:22 · 1081 阅读 · 0 评论 -
mysql 自增主键出现 Duplicate entry for key 'PRIMARY'
线上mysql设置自增主键类型为bigint(20) auto_increment,但是在id取值还是很小的情况下,出现了Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '547256575' for key 'PRIMARY'的问题...原创 2019-09-20 11:26:14 · 7669 阅读 · 1 评论 -
springboot使用junit测试时, 启动整个spring 容器
1.添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope></depen...原创 2019-07-17 15:37:58 · 11042 阅读 · 2 评论 -
阅读java源码-LinkedList实现
1.LinkedList使用双向链表存储数据,是非线程安全的。2.添加元素添加第一个元素时,first和last都指向当前添加的节点,当前节点的前置和后置节点都为Null。当添加的元素不是第一个时,构造一个以当前尾节点为前置节点的新节点,将新节点设置为尾节点,并且将原先尾节点的后置节点设置为当前新节点。3.删除元素删除指定位置的元素,先检查index是否合法,若...原创 2019-06-18 10:33:40 · 124 阅读 · 0 评论 -
阅读java源码-ArrayList实现
1.ArrayList是线程不安全的list,使用数组存储数据。2.核心数据存储在elementData数组里面,size表示现在数据个数。3.构造函数(1)指定初始值的构造函数(2)没有初始值的构造函数,elementdata数组指向默认的空数组4.ArrayList扩容规则(1)ArrayList默认初始容量为10,若一开始指定了容量大...原创 2019-06-18 09:40:52 · 239 阅读 · 0 评论 -
spring boot解决 The temporary upload location is not valid
1.问题产生原因请求接口时,spring boot将请求参数,存储在默认的临时文件夹下,如果这个临时文件夹被系统删除,则会出现这个问题。2.解决办法在application.properties增加配置,设置参数:spring.http.multipart.location={data.tmp}spring.http.multipart.max-file-size=102400...原创 2019-05-20 10:48:54 · 623 阅读 · 0 评论 -
注解使用
1.com.fasterxml.jackson.databind.ObjectMapper可用于序列化反序列化对象。将一个json字符串转化为对象,将一个对象转化为json字符串。将字符串转化为对象:String data = "{\"name\":\"wzz\",\"age\":1}";Student student = new ObjectMapper().readValue...原创 2019-01-16 15:17:54 · 262 阅读 · 0 评论 -
异步存储文件中MultipartFile注意事项
1.当请求参数中包含文件时,可以使用MultipartFile作为参数,接收传输的文件,spring boot会将文件上传到临时文件夹,临时文件夹可以通过MultipartConfigFactory factory = new MultipartConfigFactory();factory.setLocation("");设置。当一次请求完成时,临时文件会被删掉。 2.若...原创 2018-12-21 11:10:35 · 1913 阅读 · 0 评论 -
lombok注解学习
1.idea集成lombok使用lombok插件,需要idea安装lombok插件,并且引入lombok的maven依赖2.lombok注解及作用总结(1)@Getter @Setter注解获取和设置类成员变量的值,可作用于类和成员变量上面(2)@Slf4j日志注解,使用logback-spring配置,加上此注解之后,可以使用log.info("aa")等方法(3)@...原创 2018-12-14 11:46:30 · 214 阅读 · 0 评论 -
java替换字符串\u0000为""
String s = "机友01\u0000\u0000\u0000a'b";System.out.println(GsonUtils.objectToJson(s));s = s.replaceAll("[\u0000]", "");原创 2018-08-29 15:05:16 · 14072 阅读 · 0 评论 -
java项目解决SLF4J: Class path contains multiple SLF4J bindings.问题
1.启动项目的时候报warn,虽然不影响项目的正常使用,但是很烦人,所以决定排除。问题是两个不同的子包引用了同一个class,导致的问题。SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/D:/document/maven/repository/ch/qos/logback/l...原创 2018-07-16 10:09:55 · 2498 阅读 · 0 评论 -
java项目导入maven支持
maven是项目管理工具,用来管理项目引用的外部包和进行项目打包的工作,极大地方便编程工作。原先项目结构:2.将已有的pom文件复制到项目中后的项目结构:3.pom文件基本内容xml version="1.0" encoding="UTF-8"?>xmlns="http://maven.apache.org/POM/4.0.0"原创 2017-06-15 10:31:12 · 1475 阅读 · 0 评论 -
java写excel文件
直接上代码import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.ss.usermodel.Row;import org.apache.poi.ss.usermodel.Sheet;import java.io.FileOutputStream;import java.util.Arr原创 2017-06-05 16:19:30 · 289 阅读 · 0 评论 -
网络程序设计--第一个服务器程序
从client输入一个数字,在server进行平方后返回给client并且输出1.client.javapackage bjfu.dianzi.wzz;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.net.Sock原创 2016-05-30 18:00:37 · 365 阅读 · 0 评论 -
多线程-利用thread类和runnable接口实现多线程
1.运用thread类实现多线程package first;public class TestThread1 { public static void main(String[] args) { PrintThread print1=new PrintThread("first thread",5); PrintThread print2=原创 2016-05-28 15:37:32 · 404 阅读 · 0 评论 -
多线程-单线程执行程序
package first;public class SinggleThread { public static void main(String[] args) { new TestThread().run(); for(int i=0;i System.out.println("main thread is runni原创 2016-05-28 15:20:06 · 246 阅读 · 0 评论 -
java-事件驱动设计-窗口事件的处理
1.所有的方法全部实现,对于不关心的方法,也必须用空语句实现。testwindowevent 类继承了JFrame并实现接口windowListener,本例中的框架既是事件监听器也是事件源。windowListener接口定义了几个抽象方法。在窗口不同时机处理窗口事件。package first;import java.awt.event.WindowEvent;import原创 2016-05-28 13:57:07 · 513 阅读 · 0 评论 -
java自定义异常以及异常的使用
自定义异常函数:public class异常名extends Exception{public 异常名(String ErrorMessage){ super(ErrorMessage);}}应用:throw new异常名("字符串");代码:生成一个整数1--5,然后定义异常函数package exception1;import j原创 2016-05-04 17:53:00 · 516 阅读 · 0 评论 -
Java 序列化与反序列化
若要类能被序列化要实现serializable借口。我自己理解的序列化与反序列化:序列化:将对象的值写入Txt或者ser文件当中,对象可以以文本的方式进行存储。写入后对象为空。反序列化:将Txt文件或者ser文件读取,将其值按照对应关系赋给对象。其中student类在另一文件中定义,定义如下:String id; String name; String原创 2016-05-12 17:59:03 · 294 阅读 · 0 评论 -
从txt里面读文件并逐行输出到控制台
//运用bufferreader读取,按行读取并且按照空格为界拆分后保存到数组result中,然后输出。//将bufferreader写入try中就不用关闭文件了。哈哈哈package home;import java.io.*;public class ReadAfile { /** * @param args */ p原创 2016-05-12 17:56:21 · 739 阅读 · 0 评论 -
Java 输入输出操作
将txt文件读取并且以空格为界输出到控制台package home;import java.io.*;public class ReadAfile { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated原创 2016-05-11 15:53:03 · 369 阅读 · 0 评论 -
Java 重写tostring方法
Java中所有的类都是继承于Object类,自带tostring方法,输出的是类名和内存首地址,通过重写toString方法,体会Java语言的内涵。package First;public class Dog { int age; int height;; String color; public String toString(Dog a){原创 2016-04-27 14:32:07 · 8037 阅读 · 0 评论 -
Java 猜数字游戏二维版实现代码
Dotcom.javapackage chapter06;import java.util.ArrayList;public class DotCom { private ArrayList locationCells; public void setLocationCells(ArrayList loc) { loc原创 2016-04-13 18:09:02 · 510 阅读 · 0 评论 -
java ArrayList的应用
查看Java API去https://docs.oracle.com/。Java在一条输出语句中输出多个变量值方法Java在API中自己定义了多种数据结构,如链表,栈等,在Java中可以直接引用这些数据结构。代码:package Func;import java.util.ArrayList;public class struct { /**原创 2016-04-13 14:03:07 · 311 阅读 · 0 评论 -
网络程序设计-为多个客户服务服务器端设计
package bjfu.dianzi.wzz;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.net.InetAddress;import java.net.ServerSocket;import java.net原创 2016-05-30 18:55:30 · 342 阅读 · 0 评论 -
java swing-基本的框架结构
1.简单的产生一个空白的框架package bjfu.dianzi.wzz;import java.awt.EventQueue;import javax.swing.*;public class SimpleFrameTest { public static void main(String[] args) { EventQueue.invok原创 2016-06-07 17:56:35 · 1930 阅读 · 0 评论