java
大哥的叔
这个作者很懒,什么都没留下…
展开
-
shardingsphere(5.0.0) 实现分表,采用分段发号器,适用机器量不太多的情况
分表以及主键处理原创 2022-08-20 19:29:29 · 349 阅读 · 1 评论 -
Java 序列化笔记
Java 序列化是用于Java远程调用比如RMI 或者dubbo 这种通过rpc方式的对对象的传输的一种方式这种方式只传输对象的状态不会传输对象的方法主要有实现Serializable接口 实现Externalizable接口 系统自动存储必要的信息 程序员决定存储哪些信息 Java内建支持,易于实现,只需要实现该接口即可,无需任何代码支持 必须实现接口内的两个方法 而实现Serializable接口只是一种标记没有方法,序列换不会序列化静态...原创 2021-08-09 15:55:40 · 138 阅读 · 0 评论 -
Java 中类中如果含有内部类 编译后生成带$的类
用Java进行编译具有内部类的类会生成带$符号的类,但是在idea中不会显示,必须得进输出资源文件得目录,在部署tomcat中webapps中的服务时看到带$的类快捷进入如下右键,原创 2021-05-27 16:45:47 · 389 阅读 · 0 评论 -
了解entity、DTO、VO的区别
entity:entity是实体,会在数据库中存在的实际的表,包括它的每一个字段DTO:DTO是凡是要通过网络传输的对象,都当做是DTO对象,比如电商平台中,用户进行下单,下单后的数据,订单会发到OMS 或者 ERP系统,这些对接的返回值以及入参也叫DTO对象。DTO转化:DTO为系统与外界交互的模型对象,那么肯定会有一个步骤是将DTO对象转化为BO对象或者是普通的entity对象,让service层去处理。...原创 2021-04-28 10:27:07 · 2235 阅读 · 1 评论 -
输出目录下所有文件
public class PathAll { private static void pathall(String path){ File file = new File(path); File[] fs =file.listFiles(); if (fs==null){ System.out.println("不存在"); return; } for (File f:fs).原创 2021-04-07 08:24:46 · 1071 阅读 · 0 评论 -
查找文本中的指定字段
package com.test.newfile.Controller;import java.io.*;import java.util.Scanner;/** * @ClassName TextFileSearch * @Author :zhaofuh * @Date :2021/3/15 10:57 * @Description: * @Version: 1.0 */public class TextFileSearch { public void SearchKey.原创 2021-03-15 14:49:13 · 1302 阅读 · 0 评论 -
buffer缓冲之写文件(不用Output可能会出问题)
public String getFilieByBufferInputStreamWriteToTemp(String srcFileNameTempPath,BufferedInputStream bufferedInputStream) throws Exception{ File newFile = new File(srcFileNameTempPath); String path = newFile.getAbsolutePath(); by..原创 2021-03-11 17:21:37 · 1116 阅读 · 0 评论 -
Elasticsearch使用的单机版安装
首先写一些背景,ES是基于lucene的一款开源的搜索引擎,主要用于全文索引,把数据库的数据同步到ES中之后就可以使用关键词进行全文索引,这样做的索引速度比数据库的顺序索引要快的多;首先是下载ESES下载解压后打开bin启动选项启动结果如下大多数使用字段都是中文场景,所以需要加入中文分词插件下载analysis-ik根据需要下载对应的版本手动解压或者通过在elasticsearch-X.X.X\bin目录下执行以下命令:elast...原创 2021-01-19 10:52:18 · 980 阅读 · 0 评论 -
构建maven项目时导入本地库可能会遇到的问题
首先是导入本地库的方式基本就是三种用最常用的我选择这种最常用的方式然后一般就可用如果不可用可以在pom.xml 中加入 <build> <defaultGoal>install</defaultGoal> </build>其实编译不通过最应该做的是查看出错的log日志因为很多时候控制台的输出是会把村错误的日志信息隐藏一般会提示你查看日志信息在控制台输入 mvn -X 就可以查看相关错误的原因...原创 2021-01-14 15:09:09 · 1072 阅读 · 0 评论 -
关于java list添加元素后前面的会被后面的覆盖的问题
刚开始创建要存储的数据结构的时候创建在循环之外后面输出发现所有的都显示最后一个{ List<StoreTextInformation> textAndPoints =new ArrayList<>(); StoreTextInformation storeTextInformation = new StoreTextInformation(); JSONObject jsonObject ; jsonObject = ocrM.原创 2020-12-17 11:17:08 · 3412 阅读 · 3 评论 -
使用fast json把java对象列表通过循环生成json 出现 “$ref“:“$.list
首先引用标识说明:“$ref”:”..” 上一级“$ref”:”@” 当前对象,也就是自引用“$ref”:”$” 根对象{"$ref":"../.."} 引用父对象的父对象局部方式player3=JSONObject.parseObject(JSON.toJSONString(player3,SerializerFeature.DisableCircularReferenceDetect));普通的spring项目的话,用xml配置<mvc:annotation-d原创 2020-12-16 14:27:55 · 1515 阅读 · 0 评论 -
idea 类注释模板
类注释模板如下#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end#parse("File Header.java")/** *@ClassName ${NAME} * @Author :name * @Date :${DATE} ${TIME} * @Description: * @Version: 1.0 */public class .原创 2020-12-10 11:59:26 · 1404 阅读 · 0 评论 -
java对象的一些思考
在一个对象中引入另一个对象是可以的但是无法获取到引入对象的相关getset方法,所以不如重新创建一个数据结构的对象来对相关数据进行存储或者在原有对象中添加新的属性用来扩大对象的功能但是属性过多会产生其他的影响例如下面虽然把之前的对象添加进来了但是没有获取其中的方法只能通过遍历的方式对原对象进行操作后添加元素package ImagePro.LineSegment;import edu.vision.ImageRecognize.FigureRecog.GeometrySegline;imp原创 2020-11-30 11:33:35 · 3631 阅读 · 1 评论 -
通过数组或者列表生成json数组后添加到json对象中的方法
把一个列表或数组生成json数组并添加到json对象中 String string =JSON.toJSON(数组或者列表).toString(); jsonArray =JSON.parseArray(string); jsonObject.put("添加的对象名",jsonArray);手动向json数组中添加对象JSONObject json = new JSONObject();json.put("keya1", "heihei");js..原创 2020-11-25 11:15:47 · 5907 阅读 · 0 评论 -
java对象的一些思考所有数据都可以用对象去存储
对于相关对象的处理首先是写一个存储结构存储,对存储结构进行构造构造完后写getset方法构造器等内容,然后对构造器用集合List或其他存储结构进行存储后再进行添加package edu.vision.Test;import org.opencv.core.Point;/** * @author :zhaofuh * @date :Created in 2020/11/23 11:08 * @description:保存标识符的中心位置以及标识符的text * @modified By:原创 2020-11-23 19:16:07 · 3668 阅读 · 0 评论 -
替换jar包之中的文件通过-u命令 unzip解压
jar 相关命令原创 2020-11-17 17:31:07 · 4576 阅读 · 0 评论 -
将jar文件打包成可执行exe 在非jdk环境运行
首先是有一个可运行的jar,这部分需要在你自己的本地进行测试测试步骤如下判断可运行之后 使用exe4j进行打包exe4j下载路径如下下载位置需要注册后使用方便以下为相关注册码A-XVK258563F-1p4lv7mg7savA-XVK209982F-1y0i3h4ywx2h1A-XVK267351F-dpurrhnyarvaA-XVK204432F-1kkoilo1jy2h3rA-XVK246130F-1l7msieqiwqnqA-XVK249554F-pllh原创 2020-11-12 15:46:32 · 4087 阅读 · 0 评论 -
java在本地远程执行服务器的操作以及工具类 jsch
首先是连接远程服务器,通过pom.xml 引入相关工具类<dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.54</version> </dependency>然后调用工具类通过以下方式可以实现可以原创 2020-11-07 14:37:08 · 4268 阅读 · 0 评论 -
Java文件java.io.File 创建文件读取时路径是对的但是显示文件不存在
这是复制从后往前windows路径显示没问题:C:\Users\admin\Desktop\1603882575049.jpg在cmd命令行中看到下面是代码中显示 public static void main(String[] args) { File file = new File("C:\\Users\\admin\\Desktop\\1603882575049.jpg"); System.out.println(file.getPath()); if (file.e原创 2020-11-03 20:22:13 · 6368 阅读 · 0 评论 -
java通过post请求发送json以及返回json
通过post请求传入请求体为json返回为json public static void main(String[] args) { String q =base64格式的图片; JSONObject s= JsonToObject("src",q); System.out.println(s); String url ="https://api.mathpix.com/v3/text"; try { .原创 2020-10-31 15:29:08 · 5785 阅读 · 0 评论 -
Base64的编码和解码以及存储到指定位置通过uuid生成唯一主键进行调用
主要通过对base64的处理以及 UUID的唯一主键对图片文件进行保存以及处理package baseoflearn.learn;import java.io.*;import java.util.Base64;/** * @author :zhaofuh * @date :Created in 2020/10/26 16:22 * @description:对于图片的常用传输格式base64进行编码和解码的处理主要是解码过程中头部 的操作以及存储 * @modified By:原创 2020-10-27 09:39:36 · 5860 阅读 · 0 评论 -
对于唯一主键UUID的学习以及使用类似的还有雪花算法用于分布式系统中雪花算法更强大也更复杂
唯一主键随机生成通过UUID生成类生成后可以去除中间的短线通过?String的replace方法然后对其进行hash调用String的hashCode方法获取hash码通过三元关系使其为正package baseoflearn.learn;import java.util.UUID;/** * @author :zhaofuh * @date :Created in 2020/10/24 11:39 * @description:测试唯一主键uuid * @modified By:.原创 2020-10-26 16:20:15 · 5554 阅读 · 0 评论 -
排查服务器中上传图片时遇到的问题本地不报错部署后报错 unable to find valid certification path to requested target 阿里云
首先是从前端进行排查发现上传成功后,再对后端进行排查后面发现是//URL realUrl = new URL(url);这个问题改为URL realUrl= new URL(null,url,new sun.net.www.protocol.http.Handler());这种方式类似于java.net.http.url中的一种算是对https证书的一种处理方式通过测试可行...原创 2020-10-24 11:36:28 · 6698 阅读 · 0 评论 -
在idea中java调用OpenCV库以及dll文件使用java.lang.UnsatisfiedLinkError 通过环境变量的方式处理dll文件的加载通用方式
首先是opencv-401.jar这是OpenCV在java中使用的jar包通过jar包导入的方式将其导入导入之后会看到然后创建文件夹lib至于是只创建文件夹还是要创建x86或者x64我搞烦了没试有兴趣可以试试创建后吧dll文件放入其中选择这个然后进行配置选择完成后进行配置-Djava.library.path=dll文件存放目录然后就基本可以执行了加上这一句public static void main(String[] args) { ...原创 2020-09-28 14:41:47 · 8571 阅读 · 0 评论 -
java 对Json数据进行处理包括json解析以及json的简单用法 使用fastjson
{"errorCode":"0","Result":{"orientation":"","regions":[{"boundingBox":"13,15,584,15,584,83,13,83","dir":"h","lang":"","lines":[...原创 2020-09-24 10:03:43 · 7461 阅读 · 0 评论 -
java图像压缩文件大小通过 thumbnailator-0.4.2-all.jar 进行压缩调用简单 jpg格式
现在的需求是对手机拍照进行预处理首先就是图像压缩,直接调用我推荐luban算法算是安卓中比较好的开源压缩算法还有一个takephoto也是一款不错的调用相机处理的工具现在进入正题,thumbnailator是java中一个比较优秀的图片压缩库而且是开源的不过在4.8之后就不再更新了使用简单我加入了时间检测可能压缩时间需要优化其他部分都是很优秀的在这里就不过多解释其他的使用方法了package baseoflearn;import java.io.IOException;import n原创 2020-09-16 10:41:13 · 6998 阅读 · 0 评论 -
try-finally 与 try-with-resource的选取以及优劣
try-finally try和finally代码块都会抛出异常如果出现两个代码块都异常的情况第一个异常会被第二个异常覆盖,然而使用try-with-resource就不会出现这种异常package baseoflearn;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import j原创 2020-09-15 10:08:31 · 6824 阅读 · 0 评论 -
报错 这个 The blank final field __XXX__ may not have been initialized 是因为没有进行初始化 必须进行初始化所以就是无参构造器
报错 这个 The blank final field servingSize may not have been initialized 是因为没有进行初始化 必须进行初始化所以就是无参构造器需要加载静态代码区,所以必须初始化,或者在开始定义的时候就给变量赋值或者在初始化的时候赋值...原创 2020-09-14 11:03:54 · 15771 阅读 · 0 评论 -
通过for循环对map进行删除时出现java.lang.NullPointerException解决方案 :map.containsKey
如果创建map容器是用数字创建的Key直接可以通过一般for循环进行遍历但是其中存在一个问题,如果通过for循环对其中的对象进行删除时会报空指针异常,解决办法可以通过map容器提供的map.containsKey方法进行预先判断后再处理private static void Romove(Map<Integer, ShortLines> map) { int line =10; for (int i = 0; i < map.size(); i++) { boolean原创 2020-09-10 09:38:54 · 7266 阅读 · 0 评论 -
java+OpenCV入门之hello
通过java创建一个Mat对象后对对象进行调用package learn;import org.opencv.core.Core;import org.opencv.core.CvType;import org.opencv.core.Mat;public class HelloCv { public static void main(String[] args) { // TODO Auto-generated method stub\ //java运行时利用loadlibr原创 2020-09-08 09:36:26 · 6693 阅读 · 0 评论 -
java怎么实现简单的解耦通过调用类创建对象
开始的时候学习java只需要创建一个main方法然后在其中编写简单流比如输出public class Main { public Main() { // TODO Auto-generated constructor stub } public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("测试"); }}接下来可能会在其.原创 2020-09-07 11:44:10 · 6868 阅读 · 7 评论 -
java.lang.OutOfMemoryError: Java heap space
运行时内存溢出原创 2020-09-02 19:59:37 · 6532 阅读 · 0 评论 -
引入 opencv_java.dll文件项目中显示!
首先因为dll文件和jar文件不同所以不同用jar文件的形式进行引入最好在工程下创建一个文件夹libdll把所需要的dll文件放入文件夹然后通过这样就可以调用dll文件了原创 2020-09-02 17:03:17 · 7489 阅读 · 0 评论 -
OpenCV报错no opencv_java342 in java.library.path
这是因为缺少必要opencv_java401.dll原因显示是opencv的dll文件未加载问题,于是搜索下载dll文件加入它方式和加入jar包相同加入之后再执行就不会报错原创 2020-09-02 14:06:51 · 1557 阅读 · 0 评论 -
java中String字符串直接拼接的技巧 每次获取一个字符串
首先定义一个字符串String allwords =" ";然后对要操作的字符串进行处理后直接可以进行拼接words为要拼接的字符串allwords += words;对于对象的输出要进行处理但是字符串可以直接输出System.out.println("allwords :"+allwords);...原创 2020-09-02 11:19:17 · 6945 阅读 · 0 评论 -
集合的总体描述
1. Interface Iterable迭代器接口,这是Collection类的父接口。实现这个Iterable接口的对象允许使用foreach进行遍历,也就是说,所有的Collection集合对象都具有"foreach可遍历性"。这个Iterable接口只有一个方法: iterator()。它返回一个代表当前集合对象的泛型<T>迭代器,用于之后的遍历操作1.1 Collec...原创 2019-10-22 18:13:39 · 1343 阅读 · 0 评论 -
eclipse的光标变粗,及其解决办法
再用eclipese的过程中发现有时会光标变粗不知原因经过查找知道这是模式变了从输入模式变为插入模式解决方法: 有的有按键insert有些没有可以用图中的Smart Insert也可以cit8u ...原创 2018-09-16 08:57:16 · 15462 阅读 · 4 评论 -
软件三层架构
表示层(表现层、WEB层)用户可以直接访问的内容 HTML页面 Servlet业务逻辑层 业务逻辑层负责网站的一些业务逻辑(登录、注册、买书、结账) Service层持久化层负责操作数据库做增删改查等基本操作DAO层分层的目的是解耦!!!由于业务逻辑和持久化层在开发过程中非常容易发生改变,所以这两层一般采用面向接口的方式...原创 2018-10-13 17:13:53 · 11864 阅读 · 0 评论 -
(编写两个线程第一个计算2-10万的质数,第二个10万-20万的质数)
public class Main3 extends Thread{ int i,j,x=0; Main3(int m,int n){ this.i = m; this.j = n; } public void run() { int p,q; p=0;q=0; for(int m=i;m<=j;m++) { for(int h=1;h<=...原创 2018-10-25 20:29:13 · 12364 阅读 · 0 评论 -
论i++与++i的区别
对于前缀递增和递减++i和--i会先执行运算再生成值就如这例子: /* * 质数就是除它本身和1之外再无可被它整除的数 * * 题目:判断101-200之间有多少个素数,并输出所有素数。 素数又叫质数,就是除了1和它本身之外,再也没有整数能被它整除的数。也就是素数只有两个因子。 * */public class Main3 { public static void m...原创 2018-10-23 19:32:38 · 9907 阅读 · 0 评论