![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
ITzhongzi
不管前方的路有多远和多苦,只要走的方向是正确的,不管多么崎岖不平,都比站在原地更接近幸福!
展开
-
jdk动态代理案例
jdk动态代理案例原创 2022-12-08 23:09:58 · 282 阅读 · 0 评论 -
cglib动态代理
cglib动态代理原创 2022-12-08 23:09:36 · 219 阅读 · 0 评论 -
java自定义lock锁
java自定义lock锁原创 2022-09-14 14:27:02 · 629 阅读 · 2 评论 -
java自定义自旋锁cas
java自定义自旋锁cas原创 2022-09-07 18:29:19 · 304 阅读 · 0 评论 -
java手写线程池原理
java手写线程池原理原创 2022-09-06 16:35:01 · 144 阅读 · 0 评论 -
java图片压缩工具
需求公司的图片需要压缩,网上又没有合适的压缩工具,于是突发奇想用java 写了一个压缩工具。程序核心代码import net.coobird.thumbnailator.Thumbnails;import java.io.File;import java.io.IOException;import java.util.Arrays;public class Start { public static void main(String[] args){ Stri原创 2022-04-07 16:28:07 · 902 阅读 · 0 评论 -
java解析小程序encryptedData
示例代码:import org.bouncycastle.jce.provider.BouncyCastleProvider;import org.bouncycastle.util.Arrays;import org.bouncycastle.util.encoders.Base64;import javax.crypto.Cipher;import javax.crypto.spec.IvParameterSpec;import javax.crypto.spec.SecretKeySp原创 2021-03-23 17:14:13 · 875 阅读 · 2 评论 -
java流强化练习
相关类InputStreamOutputStream.InputStreamReaderOutputStreamWriterBufferedReaderBufferedWriter项目结构练习代码import org.junit.Test;import java.io.*;import java.math.BigInteger;import java.util.Ha...原创 2020-04-14 16:44:52 · 215 阅读 · 0 评论 -
冗余servlet处理技巧以及servlet工具类封装
应用场景: 如果一个servlet对应一个功能,那么我们 要做一个 学生 的 增删改查 需要写 5 个 servlet来处理。可能只有几个功能却要写 几十个servlet。非常麻烦。1、冗余servlet合并思路我们在前端请求的路径中加上想要请求的方法。例如: "/testServlet?method=addStu"我们在后台根据 传递过来的 method 来寻找对应的处理逻辑met...原创 2019-02-13 17:23:35 · 274 阅读 · 0 评论 -
利用BeanFactory解耦,适配不同版本的数据库
业务场景: 客户使用的是 oracle,但是我们开发用的是 mysql,或者程序需要兼容不同的数据库时,因为底层数据库的操作命令不同,所以我们需要对我们的程序的DAO层的实现层进行解耦,来适配不同的数据库。原理解析在src下面新建一个 application.xml 的配置文件(该文件配置使用哪中数据库的Dao层实现)示例: 然后在DAO实现层中实现不同版本数据库的操作命令,示例如下...原创 2019-02-28 11:53:35 · 315 阅读 · 0 评论 -
jedis工具封装
配置代码控制import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;public class JedisPoolUtils { private static JedisPool pool = null; ...原创 2019-02-12 15:54:30 · 466 阅读 · 0 评论 -
jedis使用教程
前言:在使用 jedis之前需要在项目中引入 commons-poolx-x.x.jar 和 jedis-x.x.x.jar 工具包获取单一jedis的操作对象 @Test // 获得单一的jedis对象操作数据库 public void test1(){ // 1、获得连接对象 Jedis jedis = new Jedis("192...原创 2019-02-12 15:52:22 · 669 阅读 · 0 评论 -
java web用动态代理解决乱码问题
在过滤器中加入如下代码核心代码package cn.itcast.test00;import java.io.IOException;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;import javax.ser...原创 2019-01-29 16:26:21 · 234 阅读 · 0 评论 -
hibernate基本语法图解+代码示例
原创 2019-03-21 10:16:37 · 255 阅读 · 0 评论 -
java装饰者模式解析&&动态代理解决装饰者模式的缺点
需求描述: 假如谷歌公司根据sun公司规定的接口实现了一套自己的智能汽车系统。 包括 汽车启动,汽车运行,汽车停止。 作为 第三方公司的我们,我们想基于谷歌公司的汽车系统做二次开发,加入 天气检测功能和路况检测功能。装饰者模式描述某个语言(以java为例)定义了一套功能接口(例如: 智能汽车接口,ICar)某公司(以谷歌为例)实现了这套接口,做了自己的实现(例如:GoogleCar ...原创 2019-01-29 15:55:03 · 445 阅读 · 0 评论 -
java多线程下载文件原理解析+案例
原理解析: 利用RandomAccessFile在本地创建一个随机访问文件,文件大小和服务器要下载的文件大小相同。 根据线程的数量(假设有三个线程),服务器的文件三等分,并把我们在本地创建的文件同样三等分,每个线程下载自己负责的部分,到相应的位置即可。示例图:示例demoimport java.io.InputStream;import java.io.RandomAccessFil...原创 2019-03-11 10:05:45 · 879 阅读 · 0 评论 -
java多线程下载&断点续传功能原理解析+demo
原理解析: 在开启多个线程下载文件的同时,将下载的进度保存在一个临时文件里,每次运行程序查看有没有临时文件,有的话就取临时文件中的进度继续下载。多线程下载的原理 见上一篇 博客。示例demo import java.io.*;import java.net.HttpURLConnection;import java.net.URL;public class MutilDownloa...原创 2019-03-11 10:53:21 · 427 阅读 · 0 评论 -
hibernate缓存处理
写在前面: hibernate缓存分为一级缓存(session级别)和二级缓存(sessionfactory级别)。其中一级缓存是强制开启的,二级缓存需要手动配置。推荐博文 hibernate缓存机制详细分析一级缓存(session级别)首先我们创建一个 session对象,查询一个列表,5条数据。此时,这些数据已经被存到了session缓存中,当我们继续去根据id查找 某一个对象时,因...原创 2019-03-20 11:36:44 · 530 阅读 · 0 评论 -
hibernate数据关系一对多&多对多
原创 2019-03-21 10:15:51 · 115 阅读 · 0 评论 -
hibernate实体规则,对象状态,事务,批处理
原创 2019-03-21 11:10:07 · 124 阅读 · 0 评论 -
hibernate从零开始
写在前头: Hibernate是一种ORM框架,全称为 Object_Relative DateBase-Mapping,在Java对象与关系数据库之间建立某种映射,以实现直接存取Java对象!示例教程项目目录结构创建数据库CREATE TABLE `test`.`Untitled` ( `uid` int(11) NOT NULL AUTO_INCREMENT, `u...原创 2019-03-19 10:40:26 · 202 阅读 · 0 评论 -
springboot入门教程示例
使用idea搭建一个springboot入门项目,和基本配置介绍.请求某个 controller 的时候 把数据库中的数据存在model中,并重定向到前端界面,吧数据取出来遍历。项目目录结构数据库设置application.properties项目配置server.port=8088server.servlet.context-path=/spring.mvc.view.pr...原创 2019-10-10 11:36:13 · 150 阅读 · 0 评论 -
springboot restful接口示例
controller层@RestControllerpublic class GreetingController { private static final String template = "Hello, %s!"; private final AtomicLong counter = new AtomicLong(); @RequestMapping("/...原创 2019-10-10 12:00:04 · 209 阅读 · 0 评论 -
四种读写方案IO流 (JAVA)
File类用于访问文件或目录的属性流:指一连串流动的字符,是以先进先出的方式发送信息的通道。程序和数据源之间是通过流联系起来的。第一套:字节流读取写入方案FileInputStream :字节流方式读取文本文件 FileInputStream fis=new FileInputStream("E:\\读取文件.txt"); byte[]bytes=new by...转载 2018-11-28 08:49:52 · 200 阅读 · 0 评论 -
java接口回调(listener&&filter原理)
场景描述: 假如我10年前写了一个程序,这个程序有一个 startBook 的方法,十年后的今天我想调用该方法,并且让它来学习我传入的内容。面临问题:10年前我不知道你要读取什么内容,(不知道用什么对象接收)即便是我们用 Object对象接收了要学习的内容,我们也不知道要调用什么方法(因为这是10年前的程序)解决思路A在执行循环,当循环到5的时候, 通知B。事先先把一个对...原创 2019-01-28 15:17:01 · 603 阅读 · 1 评论 -
java web listener&&filter
#Listener & Filter##Listener监听器能做什么事?监听某一个事件的发生。 状态的改变。监听器的内部机制其实就是接口回调.####接口回调需求:A在执行循环,当循环到5的时候, 通知B。事先先把一个对象传递给 A , 当A 执行到5的时候,通过这个对象,来调用B中的方法。 但是注意,不是直接传递B的实例,而是传递一个...转载 2019-01-28 14:52:51 · 165 阅读 · 0 评论 -
java原生动态生成验证码
需求描述: 为了防止脚本多次请求,很多时候在注册会用到验证码,我们用java实现 一个图片验证的二维码。项目结构只有 标记的这三个文件是用到的CheckServlet核心代码package lhw.wanlin.checkimg;import javax.imageio.ImageIO;import javax.servlet.ServletException;impor...原创 2018-12-29 09:22:55 · 280 阅读 · 0 评论 -
servlet下载文件
需求描述: 使用servlet在服务端下载文件核心代码package lhw.wanlin.content;import sun.misc.BASE64Encoder;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.annota...原创 2018-12-28 11:04:37 · 1003 阅读 · 0 评论 -
servlet笔记
一、Servlet简介1.什么是ServletServlet 运行在服务端的Java小程序,是sun公司提供一套规范(接口),用来处理客户端请求、响应给浏览器的动态资源。但servlet的实质就是java代码,通过java的API 动态的向客户端输出内容servlet规范:包含三个技术点1)servlet技术2)filter技术—过滤器3)listener技术—监听器2.Servle...转载 2018-12-27 10:33:52 · 147 阅读 · 0 评论 -
dom4j解析dom示例
java代码package com.lhw;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;import org.junit.jupiter.api.Test;import java.util.Li...原创 2018-12-20 17:40:09 · 271 阅读 · 0 评论 -
java反射详解
1、什么是反射技术?动态获取指定类以及类中的内容(成员),并运行其内容。应用程序已经运行,无法在其中进行new对象的建立,就无法使用对象。这时可以根据配置文件的类全名去找对应的字节码文件,并加载进内存,并创建该类对象实例。这就需要使用反射技术完成2、获取class对象的三种方式获取Class对象的方式一:通过对象具备的getClass方法(源于Object类的方法)。有点不方便,需...转载 2018-12-20 14:34:58 · 130 阅读 · 0 评论 -
java反射机制解析
第1章 反射1.1 类的加载当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化。 加载就是指将class文件读入内存,并为之创建一个Class对象。任何类被使用时系统都会建立一个Class对象 连接验证 是否有正确的内部结构,并和其他类协调一致准备 负责为类的静态成员分配内存,并设置默认初始化值解析 将类的二进制数据中...转载 2018-11-30 14:04:45 · 117 阅读 · 0 评论 -
java OI流小结-各种读写对象的区别
按字节流和字符流分IO流:字符流字符输入流FileReader (等)字符输出流FileWriter (等)高效字符输入流BufferedReader高效字符输出流BufferedWriter字节流字节输入流InputStream(等)字节输出流OutputStream(等)高效字节输入流BufferedInpu...原创 2018-11-29 18:50:56 · 401 阅读 · 0 评论 -
java网络编程实现登陆
功能描述: 客户端 输入用户名密码,并发送给服务器,服务器端接受信息并进行验证字后,返回客户端成功或者失败。客户端代码import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net....原创 2018-11-29 18:27:38 · 1388 阅读 · 0 评论 -
基于TCP的客户端和服务端数据传输
功能描述: 从客户端向服务端发送字符串,服务端接收之后,把字符串转成大写,并返回给客户端,客户端代码import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.InetAddress;import java.net.Socket;public ...原创 2018-11-29 15:38:51 · 699 阅读 · 0 评论 -
基于TCP协议的Socket通信案例
客户端代码import java.io.IOException;import java.io.OutputStream;import java.net.InetAddress;import java.net.Socket;public class Main { public static void main(String[] args) throws IOException {...原创 2018-11-29 13:46:37 · 391 阅读 · 0 评论 -
java web项目发布到tomcat教程
步骤概览1. 配置好idea关联的tomcat服务器,使该项目可以用idea关联的tomcat运行2. 将编译好的文件 拷贝到 tomcat制定目录下即可第一步 配置ideatomcat服务器1. 新建一个java web项目,点击 next 然后 finish。2. 打开tomcat配置页面3. 配置tomcat(配置依赖、)配置依赖时,选默认的配置 tomcat端口...原创 2018-12-29 11:51:20 · 1067 阅读 · 0 评论 -
java cookie案例分析-显示上次登陆时间
案例描述: 在第一次登陆浏览某网站时显示“第一次浏览”,在以后的每次浏览都显示 上次浏览的时间代码示例package com.wl.cookie;import javax.servlet.http.Cookie;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;...原创 2019-01-04 14:16:50 · 294 阅读 · 0 评论 -
java web自动登录实现
实现思路在登录的 api 或 servlet中验证用户名密码如果验证成功,则把该用户信息存在 服务器 的 session 缓存中,并把 可以表示该用户的 信息存在 cookie中返回。例如: //存储 session request.getSession().setAttribute("userBean", queryUser); Cookie cookie = new Cookie...原创 2019-01-28 14:34:55 · 2418 阅读 · 0 评论 -
Java的Graphics类进行绘图的方法详解
Graphics类提供基本绘图方法,Graphics2D类提供更强大的绘图能力。Graphics类提供基本的几何图形绘制方法,主要有:画线段、画矩形、画圆、画带颜色的图形、画椭圆、画圆弧、画多边形等。画线在窗口画一条线段,可以使用Graphics类的drawLine()方法:drawLine(int x1,int y1,int x2,int y2)例如,以下代码在点(3,3)与点(...转载 2019-02-01 13:43:09 · 1929 阅读 · 1 评论