java开发
文章平均质量分 50
跨海之梦
IT男
展开
-
如何更快速高效地从数据库查询数据
背景一般情况下,我们从数据获读取大量数据,一般通过像这样的sql来查询select * from xxx a where a.id in (x,x,x)发现没有,用 in 语句来查询,但是相比于join,in的查询效率要低很多那如何提高查询效率呢?如何用join来查询,因为一般情况下,我们有id了,怎么跟表关联有关呢?解决办法创建临时表,我们可以创建一个tempKey表,专门存放要查询的key。注意一下几点tempKey表就是临时表,所以每次使用前删掉 删掉后直接插入要查询的原创 2021-03-11 22:41:52 · 1787 阅读 · 0 评论 -
Java实现向Web站点发送GET/POST请求
如何用Java实现本地调用远程接口并获取数据?本文章将告诉你答案。废话不多说,直接撸代码。package com.future.net;import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.URL;import java.net.URLConnection;import java.nio.charset.Charset;imp原创 2020-05-31 20:03:54 · 559 阅读 · 0 评论 -
Java使用URLConnection实现网上图片下载到本地
如何从网上的一个URL地址下载文件到本地?本文章就给你答案。例子:程序实现一个多线程下载工具类。废话不多说直接上代码。package com.future.net;import java.io.IOException;import java.io.InputStream;import java.io.RandomAccessFile;import java.net.HttpURLConnection;import java.net.URL;/** @Description:原创 2020-05-31 19:52:56 · 717 阅读 · 1 评论 -
红黑树讲解
讲解连接:https://blog.csdn.net/qq_37600027/article/details/84495396重点片段(红色部分):根据被插入节点的父节点的情况,可以将"当节点z被着色为红色节点,并插入二叉树"划分为三种情况来处理。① 情况说明:被插入的节点是根节点。处理方法:直接把此节点涂为黑色。② 情况说明:被插入的节点的父节点是黑色。处理方法:...转载 2020-03-08 16:02:54 · 160 阅读 · 0 评论 -
读写锁(ReentrantReadWriteLock)理解和例子说明
提示:这里我只是聊聊自己的理解,相当于自己记个笔记而已,如果有误,请指正。原因:多个线程访问同一个资源的时候,应该读锁是共享锁,写锁是独占锁。即:读--读共存,而读--写和写--写不能共存。例子(一个读和写都共享的例子):package com.wrb.lock;import java.util.HashMap;import java.util.Map;/** * @Aut...原创 2020-02-02 23:23:38 · 457 阅读 · 0 评论 -
JVM参数
提示:这里我只是聊聊自己的理解,相当于自己记个笔记而已,如果有误,请指正。JVM参数可以分为3大参数类型,分别为:1、标配参数。-version:查看jdk版本号 -help:帮助类 java -shwversion,跟-version效果一样2、X参数-Xint:解释执行 -Xcomp:第一次使用就编译成本地代码 -Xmixed:混合模式3、XX参数(可以再细分两...原创 2020-02-02 11:50:56 · 259 阅读 · 0 评论 -
synchronized和Lock区别以及Lock如何控制线程执行顺序的例子
提示:这里我只是聊聊自己的理解,相当于自己记个笔记而已,如果有误,请指正。使用上的区别:(如下图)最大区别:Lock能实现精准通知,精准唤醒。例子:多个线程,要求实现调用顺序A->B->C。具体实例:启动三个线程,要求A打印2次,B打印4次,C打印6次......循环5轮(笔试高频题)。实现代码如下:package com.xxx.thread;import...原创 2020-02-01 23:48:56 · 227 阅读 · 0 评论 -
单例模式之DCL分析
今天,分享一下单例模式之DCL分析。public class SingletonDemo { private static volatile SingletonDemo singletonDemo = null; private SingletonDemo(){ System.out.println("double check Lock双端检锁机制"); ...原创 2020-02-01 17:10:35 · 500 阅读 · 0 评论 -
死锁理解
原因:死锁是指两个或者两个以上的线程在执行过程中因争夺资源而造成的一种互相等待的现象,如无外力干涉他们都无法继续运行下去。示意图如下:一个死锁的例子:/** * @Author:wrb * @Date :2020/1/29/9:28 * @Describtion:死锁 **/public class DeadLockDemo { public static vo...原创 2020-01-29 10:16:39 · 255 阅读 · 0 评论 -
ThreadPool的原理理解
提示:这里我只是聊聊自己的理解,相当于自己记个笔记而已,如果有误,请指正。背景:为了更加深刻的理解Java,近期比较深入理解线程池。线程池优势:线程池做的工作主要是控制运行的线程数量,处理过程中将任务放入队列然后字线程创建后启动这些任务,如果数量超过了最大数量,超出数量的线程放到队列中等候,当其它线程执行完毕,再从队列中取出任务来执行。简单来讲就是:控制最大并发数,管理线程。线程池好处...原创 2020-01-28 23:50:34 · 457 阅读 · 0 评论 -
聊一聊Java类加载器ClassLoader
提示:这里我只是聊聊自己的理解,相当于自己记个笔记而已,如果有误,请指正。背景:为了更加深刻的理解Java,近期深入理解JVMClassLoader定义:类加载器加载class文件,class文件在文件开头有特定的文件提示,如cafe babe....,类加载器是将class文件字节码加载到内存中,并将这些内容转换成方法区中的运行时数据结构并且ClassLoade只负责class文件的...原创 2020-01-28 21:55:33 · 244 阅读 · 0 评论 -
Navtive Interface(Java)理解
近期理解决定深入理解Java底层,所以在尚硅谷看到一个关于Native关键字的解释,讲的还不错,就分享出来。Navtive Interface(本地接口):作用是融合不同的编程语言为 Java所用,它的初衷是融合C/C++,Java诞生的时候是C/C++横行的时候,要想立足,必须调用C/C++程序,于是就在内存中专门开辟了一块区域处理标记为native的代码,它的具体做法是Native Met...原创 2020-01-28 20:25:11 · 209 阅读 · 0 评论 -
【码云】git push origin mash 报错:remote: error: GH007: Your push would publish a private email address.
近期使用码云提交代码到git仓库,发现网上搜索的都是github的解决办法(可以解决的地址:https://blog.csdn.net/qq_24862137/article/details/94408847)根据在github的解决办法得到启发,下面,是我在码云上的解决办法。1、然后就可以提了。...原创 2020-01-22 19:28:19 · 849 阅读 · 2 评论 -
Git clone时出现Please make sure you have the correct access rights and the repository exists.问题已解决。
转载来自:https://www.cnblogs.com/cnlg123/p/7762889.html看了好多资料终于搞定了git 中clone命令报错这个问题,废话不多说直接上步骤希望对大家有帮助。 1 删除.ssh文件夹(直接搜索该文件夹)下的known_hosts(手动删除即可,不需要git) 2 在下载好的Git中的bin目录下打开bash.exe输入命令ssh...转载 2020-01-22 17:28:54 · 347 阅读 · 0 评论 -
Idea工具开发的项目如何访问本地指定目录下的文件(亲测有效)
背景:近期学习使用layui,在用到上传图片和读取本地图片时,本以为能直接通过img标签的src访问(大神别笑)原创 2020-01-15 21:03:15 · 3273 阅读 · 0 评论 -
java保存上传的图片到指定目录下(亲测有效)
背景:由于近期使用layui写前端,其中用它的控件实现图片上传,拿到的是转成Base64的数据,数据如下:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAY4AAADvCAYAAADl2zM3AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAANjRSURBVH...原创 2020-01-15 17:21:31 · 5993 阅读 · 1 评论 -
com.alibaba.fastjson.JSONException: syntax error, expect {, actual error, pos 0出现这种报错我的解决办法
近期想研究如何通过前端数据封装成对象传到后台,其他方式都通过了,但是希望后台用@RequestBody接收,总是出现如下图的报错:原创 2020-01-10 21:11:50 · 3628 阅读 · 0 评论 -
layui实现数据表格检索(亲测可用)
背景:发现layui有很多现成的插件,本人前端非常差,所以为了方便接私活,就开始学习使用layui。近期做到数据表格时,无论如何都无法实现对某个字段进行检索,按照文档来了还是不行,通过百度等不同手段不断尝试后,终于弄出来了,再次分享一下。先展示效果:然后对【商品名】进行检索对“蛋糕”进行检索得出的结果。源码如下:1、html页面<!DOCTYPE html&...原创 2020-01-09 23:28:24 · 4192 阅读 · 4 评论 -
快速搭建SSM(提供源码文件)
近期趁着空闲之余,研究如何搭建SSM(PS:开发差不多两年了,还没有亲自搭建过SSM框架。尴尬),在网上找了很久,发现以为码友分享非常不错的文章,我按着他的步骤来,重要弄好了。链接地址:快速搭建SSM步骤地址源码分享地址:SSM_test...转载 2019-10-12 12:23:48 · 111 阅读 · 0 评论 -
FileInputStream的read()方法不用byte接收的原因
问题:FileInputStream的read()方法每次读取一次就返回的是一个字节,自然而然,我们觉得就应用用byte来接收,但是却不能用byte接收,而是用int接收,为什么呢?解释:因为字节输入流可以操作任意类型的文件,比如图片音频等,这些文件底层都是以二进制的形式存储,如果每次读取返回byte,有可能在读到中间的时候遇到11111111,那么这11111111是byte类型的-1,程序...原创 2019-04-16 11:02:24 · 668 阅读 · 1 评论 -
JAVA网络编程Socket实现信息传输
实现功能:【发送】、【清屏】、【记录】、【震动】效果:源码如下,拿去直接可用:package com.wrb;import java.awt.BorderLayout;import java.awt.Button;import java.awt.Color;import java.awt.Font;import java.awt.Frame;import java.a...原创 2019-04-16 11:07:51 · 370 阅读 · 0 评论 -
字符流和字节流的区别和使用
字符流:字符流操作纯文本的数据比较方便;字节流:可用操作任意数据,因为计算机中任何数据都是以字节流的形式存储的。注意:当字符流拷贝非纯文本文件和拷贝纯文本文件的操作是一样的,需要先将字节转换为字符,转换字符如果没有转换成功就会变成“?”(因为非纯文本中可能含有中文,一个中文占2个字节,一个英文占1个字节),写出去的时候就会将“?”写出,这就是有时候我们用字符流拷贝文件时出现乱码的原因之一。...原创 2019-04-16 11:10:37 · 935 阅读 · 0 评论 -
ArrayList<Integer>的对象添加一个字符串数据
问题:ArrayList<Integer>的对象如何添加一个字符串数据?解决办法:泛型是在编译时期检查的,但是在运行期会被擦除掉package com.wrb.ref;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.util.A...原创 2019-04-18 10:02:17 · 1193 阅读 · 0 评论 -
eclipse安装反编译jad解析.class文件
1、需要的文件2、复制net.sf.jadclipse_3.3.0.jar到eclipse安装目录的plugin下,重新启动eclipse3、在eclipsez中依次点击:windows -->preferences (看下图)4、配置默认的File Associations5、尝试打开之前导入的但是看不了源代码的文件,如果能看到,说明反编译安装成功。参考:h...原创 2019-07-13 21:44:49 · 133 阅读 · 0 评论 -
实现输入框只能输入数字的方法(JS代码)
做开发的程序员经常遇到某些输入框只能输入指定范围的值,比如联系电话(手机号码只能输入阿拉伯数字),密码现在只能输入字母等,下面介绍一个实现一个只能输入数字的JS实现方法var testInt=/^\d+$/;if(!testInt.test($('选择器').value())){ //非数字}else{ //数字}...原创 2019-07-18 23:44:08 · 589 阅读 · 0 评论 -
JS实现电话号码校验-----座机:区号-号码、或11位手机号
在公司做个前端网页,在联系电话的输入框,现在符合条件的才能录入,经测试可用function isPhoneNum(phone){ var testPhone=/^(1(?:3\d|4[4-9]|5[0-35-9]|6[67]|7[013-8]|8\d|9\d)\d{8})?$/; var testFixedPhone=/^((0\d{2,3})-)(\d{7,...原创 2019-07-18 23:49:13 · 2083 阅读 · 0 评论 -
一张图了解字符流和字节流的区别
直接上图原创 2019-07-23 22:45:38 · 418 阅读 · 0 评论 -
识别证件图片信息服务开发(另外提供完整版完整的demo,已经上传)
近期做微信,有个需求,关于识别证件中的信息的问题,所以对如何识别证件做了一定的研究,我使用的是中安未来公司提供的接口进行开发的,等下会根据其提供的相应文件进行说明。demo地址话不多说,直接上干货(对我来说,下面的代码物价,因为我竟然没有找到类似的文章参考,就算找到了,也无法运行,本人另外传了demo,欢迎购买下载)!1、测试类和逻辑代码package myProject...原创 2019-07-27 23:54:47 · 589 阅读 · 1 评论 -
JSON对象和JSON字符串转成Object对象是简单始使用(复制能直接测试)
需求:有时候,我们要传一个属性值可以为空的的对象,但是用JSON.toJSONString(obj)不能实现,因为该方法只获取其中的属性值为非空(不为“”或者null)的属性和属性值,那怎么办呢?那我下面的例子即将能帮到你!直接上干货!!package com.json.test;import org.junit.Test;import com.alibaba.fastjson....翻译 2019-07-28 15:54:31 · 283 阅读 · 0 评论 -
ResponseEntity下载无法打开的解决办法
背景:近期要做一个导出数据到Excel的功能,并在浏览器页面实现下载该文件,所以就用到SpringMVC的org.springframework.http.ResponseEntity<byte[]>来实现,但是下载后发现打开不了,报错如下:打开后就是下面这一串:0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAOwADAP7/CQAGAAAAAAAAAAA...原创 2019-10-08 21:17:32 · 2352 阅读 · 0 评论 -
JSON转成Model指定对象
需求:前段时间,忽然想着能否对前端上传的JSON数据直接通过现有的接口实现转成相应的Model对象或者Model数组,百度了很久,没有找到合适的,要么自己通过反射去获取和设置值,这不符合“不重复早轮子”的思想。通过自己不断努力,重要找到了,现在把我的成果展示一下。1、开发之前,你需要三个jar包:PS:网上找了很久,没有找到,找到了但是依赖有问题,所以为了提高开发效率,小编建议搭建Ma...原创 2019-10-11 12:40:00 · 855 阅读 · 0 评论 -
关于登录权限的设置--用过滤器解决的方法
需求:在项目开发中,按照正常的思路:用户必须登录了才能进入到后台,如何知道后台的地址而直接访问后台,那么该项目可以说是非常的差劲了。由于开发需要,我这几天学习和解决了这个问题。现在分享出现,希望能给大家带来帮助!1、写SessionFilter (自定义)过滤器,要实现Filter接口import java.io.IOException;import java.util.regex.P...原创 2018-09-13 17:56:22 · 2088 阅读 · 0 评论