Java
文章平均质量分 52
林熙
这个作者很懒,什么都没留下…
展开
-
为什么JDK动态代理只能代理接口,不能直接代理类?CGlib为什么可以代理类?
在?撸个问题。一、JDK动态代理与CGlib动态代理二、为什么JDK动态代理只能代理接口,不能直接代理类?(一)简单的实现JDK动态代理三、CGlib为什么可以代理类?四、总结五、参考:一、JDK动态代理与CGlib动态代理众所周知,Spring会基于代理的类去动态的选择使用JDK创建代理对象还是CGLIB(当然也可以配置全都使用CGlib),这取决于被代理的对象是类还是接口。java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。CGli原创 2021-10-07 21:28:35 · 3918 阅读 · 2 评论 -
重学设计模式--读后总结篇,我理解的设计模式!!(二)
极力推荐小傅哥的重学设计模式1.1 工厂方法模式1.2 抽象工厂模式1.3 建造者模式1.4 原型模式1.5 单例模式1.6 适配器模式1.7 桥接模式1.8 组合模式(没细品)1.9 装饰器模式(没细品)1.10 外观模式(没细品)1.11 享元模式1.12 代理模式(没有细品)1.13 责任链1.14 命令模式1.15 迭代器模式(没有细品)1.16 中介者模式(没有细品)1.17 备忘录模式(没有细品)1.18 观察者模式1.19 状态模式1.20 策略模式1.21 模板模式(没有细品)1.22 访问原创 2021-09-07 12:55:58 · 604 阅读 · 0 评论 -
小小MQ,知识点竟然这么多???(一)
小小MQ,知识点竟然这么多???一、MQ的基本概念1.MQ概述二、MQ的优势1.应用解耦2.异步提速3.削峰填谷三、MQ的劣势系统可用性降低系统复杂度提高四、常见的MQ产品五、RabbitMQ 介绍1.RabbitMQ 简介1.1 Producer(生产者) 和 Consumer(消费者)1.2 Exchange(交换器)1.3 Queue(消息队列)1.4 Broker(消息中间件的服务节点)1.5 Exchange Types(交换器类型)① fanout② direct③ topic④ headers原创 2021-09-05 22:39:32 · 2035 阅读 · 20 评论 -
解决Springboot打包后下载文件内容为空
/** * 根据文件名下载模板 * * @param response * @param fileName */ @Override public void employeeTemplate(HttpServletResponse response, String fileName) { OutputStream os = null; InputStream is = null; try { InputStream inputStream = this.getCl.原创 2021-08-14 13:32:41 · 1792 阅读 · 4 评论 -
generate-code开源的代码生成器(FlierTeam)
generate-code开源的代码生成器一、背景二、项目链接三、功能介绍(一)通用代码生成器代码生成切换数据源下载(二)可修改模板的生成器模板管理四、总结一、背景从开源项目:https://gitee.com/QinHaiSenLin/Jfinal-layui?_from=gitee_search中抽取出了其中的单表代码生成,并在其基础之上做了扩展,如:通用模块生成:编辑模板,代码生成,更换数据源(暂时支持mysql、oracle切换),下载会被da成zip包等;原项目中JFinal-Layui模原创 2021-07-25 00:55:27 · 2182 阅读 · 0 评论 -
Java使用文字转语音,支持32jdk、64位jdk应用场景
一、引入dll驱动到jdk安装目录bin目录下,x86代表32位放入32位的jdk种,x64代表64位放入64位的jdk种,源码给出的是32位的,变动为64jdk再idea选择更换jdk即可,再在对应的jdkbin目录下放入dll文件。二、需要注意的是,在使用jacob生成wav音频文件时,如果目标文件存在,则会报错。三、最后,既然说到了使用jacob肯定需要用到这个jar包啦,引入java也很简单,这里不细说,后面会给出相应驱动文件和jar包,没积分下载的可以关注私聊我要。/** * 文字转语音测原创 2021-07-24 17:58:57 · 288 阅读 · 0 评论 -
枚举类的使用
/** * @author admin */public enum GENERATION_CODE_TYPE { GENERIC(1), JFINAL_LAYUI(2), EDIT_TEMPLATE(3); private int value; GENERATION_CODE_TYPE(int value) { this.value = value; } public int getValue() { return value; } public static原创 2021-07-22 10:13:02 · 57 阅读 · 0 评论 -
jfinal 简单工厂模式构建config
简单工厂模式构建config接口实现类使用接口/** * @author admin */public interface initConfig { /** * 初始化config * @param configName * @param dataSource * @param dialect * @param showSql * @param devMode * @param transactionLevel * @param iContainerFactor原创 2021-07-22 10:02:14 · 188 阅读 · 0 评论 -
jfinal-layui使用拦截器实现的日志打印功能,其它框架也可以借鉴
jfinal-layui使用拦截器实现的日志打印功能源码源码/** * 日志拦截,查看执行耗时 * * @author admin */public class LogInterceptor implements Interceptor { @Override public void intercept(Invocation inv) { long start = System.currentTimeMillis(); try { inv.invoke(); } fin原创 2021-07-22 09:38:23 · 425 阅读 · 0 评论 -
Mybatis源码分析-流程详解
从一次简单的源码分析开启你的源码分析之路一、概述(一)什么是Mybatis(二)Mybatis能做些什么二、分析过程(一)准备(二)宏观分析(三)微观分析(死)图解分析一、概述(一)什么是MybatisMyBatis是一款优秀的持久层(ORM)框架,但并不是一个完整的ORM框架,ORM是Object和Relation之间的映射,包括Object->Relation和Relation->Object两方面。Hibernate是个完整的ORM框架,而MyBatis完成的是Relation-&g原创 2021-05-30 16:11:32 · 495 阅读 · 0 评论 -
Java枚举类在项目中的使用
原文链接:https://blog.csdn.net/IBLiplus/article/details/82873908在很多时候我们定义一些状态量都是使用0或者1,-1这样在数据库中定义,这样的数据存放在数据库的相应字段中方便数据读取,但是只存储数字,如果定义的表很多,对应的字段也很多,设计的状态就非常多,编码很容易分辨不清楚,一方面去数据库中查看相应字段的注释非常费时间,而且容易产生差错,如果我们使用枚举类,这个问题就很好的解决了。比如当我们定义了许多状态量,比如订餐支付,未支付,订单的完结,派送,转载 2021-05-21 18:13:39 · 279 阅读 · 0 评论 -
面试题总结-2
1.抽象类与接口的区别1.抽象类和接口都不能被实例化。2.抽象类要被子类继承,接口要被实现。3.接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通成员变量。4.抽象类里可以没有抽象方法。5.接口可以被类多实现(被其它接口多实现),抽象类只能被单继承。6.接口中没有this指针,没有构造函数,不能拥有实例字段(实例变量)或实例方法。7.抽象类不能在Java8的lamba表达式中使用。2.string、stringbuffer、strinbuilder的区别String:适用于少量原创 2021-05-15 11:56:00 · 144 阅读 · 0 评论 -
面试场景总结-1
1.根据部门修改对应的数据update user left join depart on user.id = depart.userfk set user.level = ‘C’,user.fl = ‘B’ where depart.level = ‘开发部’UPDATE table_1 t1 left join table_2 t2 on t2.id = t1.tid SET t1.username = t2.unamewhere t1.id>5;2.springboot是如何实现缓存处理原创 2021-05-13 21:54:02 · 101 阅读 · 0 评论 -
Java题目总结1
1. Java基础部分基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法,虚拟机方面的语法,其他。1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。2、说说&和&&的区别。两个都是逻辑与运算符,唯一的区别是 两个逻辑与具有短路的功能,就是逻辑与 是两边表达式为真时才为真,两个逻辑与的话,在第一个表原创 2021-04-19 18:08:04 · 405 阅读 · 0 评论 -
Java使用字节流复制文件
package com.company.prac;import java.io.*;public class CopyFile { /** * 字节流复制文件 * @param inFilePath * @param outFilePath * @return */ public static Boolean CpFile(String inFilePath, String outFilePath) { InputS原创 2021-04-01 14:30:26 · 245 阅读 · 0 评论 -
Java遍历创建多级文件夹目录
public static void main(String[] args) { File file = new File("D:\\11\\22\\33\\44\\55\\66\\77\\88\\99"); System.out.println(mkdirs(file)); } //遍历创建文件夹目录 public static Boolean mkdirs(File file) { if(file.exists()){ ...原创 2021-04-01 11:11:10 · 705 阅读 · 0 评论 -
Java使用Jsoup爬取贴吧指定词条帖子信息
添加jsoup的依赖:原创 2021-03-12 10:06:57 · 395 阅读 · 1 评论 -
FastJson实体类加注解格式化时间格式
在时间属性上加: @JSONField(format="yyyy-MM-dd")原创 2020-07-17 14:20:44 · 3471 阅读 · 0 评论 -
Maven 简介 POM 在sts中maven的配置和创建、导入
Maven 简介Maven 翻译为"专家"、“内行”,是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。(jar包的依赖)Maven 环境配置Maven 3.5 要求 JDK 1.8 或以上Maven POMPOM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元原创 2020-05-31 17:48:32 · 1364 阅读 · 0 评论 -
J2EE9 servlet MVC设计模式 Cookie介绍 Cookie分类
MVC设计模式MVC设计模式,并不是代码上写法的设计模式,和单例模式、工厂模式是不一样的是一种应用的模型分类MVC 模式将应用分为模型、视图和控制器三个部分:视图(View):数据的展现。 页面的显示jsp只是一个模板引擎视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。模型(Model):应用对象。 模型pojo实原创 2020-05-22 10:10:13 · 297 阅读 · 0 评论 -
Java基础53网络编程补充 IP地址 网络协议 OSI参考模型 UDP/TCP 三次握手 给飞秋随机发送消息
网络编程补充IP地址IP地址是指互联网协议地址(更多的时候是互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异)ip地址一般是由32位二进制组成,已知ip地址是分为四段,所以又32/4=8位,所以每一段的取值个数是2^8=256个(包括0)但是在二进制里面,是包括0的,所以每一段取值为0-255这个值。分为a b c d e 五类a 0+7位网络号 (紫色)...原创 2020-05-03 17:44:12 · 501 阅读 · 0 评论 -
Java四种排序与Python四种排序
Java一、冒泡排序Description:冒泡排序在未排序的子序列中找到最大的数放到未排序的序列的最右边,从而使已排序的子序列增长,直到全部排序完成。初始:2,1,4,5,3loop1:1,2,4,3,5loop2:1,2,3,4,5loop3:1,2,3,4,5loop4:1,2,3,4,5import java.util.Arrays;public class Bubbl...原创 2019-03-31 22:54:18 · 199 阅读 · 0 评论