![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 80
我是王小贱
1,东方欲晓,莫道君行早!!!
2,今天你多学一门技术,明天少说一句求人的话。
展开
-
Java动态代理实现与原理详细分析
Java动态代理实现与原理详细分析一:代理模式二:静态代理1、静态代理2、静态代理的简单实现三:动态代理1、动态代理2、动态代理的简单实现四、动态代理原理分析五、总结关于Java中的动态代理,它是一种常用的设计模式 – 代理模式。而对于代理,根据创建代理类的时间点,又可以将其分为静态代理和动态代理。一:代理模式 代理模式是常用的Java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关转载 2021-03-06 16:30:28 · 956 阅读 · 1 评论 -
Java通过freemarker生成word文档
文档生成目录摘要二级目录三级目录摘要二级目录三级目录原创 2020-08-05 11:05:10 · 1829 阅读 · 8 评论 -
Java获取一个时间段内的时间天数集合
这里将时间天数的集合存入一个TreeSet集合中,这样可以保证天数数据的唯一性,不会产生重复天数的数据。public static void main(String[] args){ try { Set timeSet = getDateSet("2020-07-20", "2020-07-29"); System.out.println(timeSet.toString()); } catch (ParseException原创 2020-07-29 14:53:36 · 1827 阅读 · 0 评论 -
求两数之和最有效的方法
两数之和解法一、for循环遍历求解二、采用给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]有很多人会问,这不很简单的一个题目吗,一个数组,求数组中两数之和等于指定的数值target,直接双层for循环遍历数组不就行了吗。这个思路没错,但是我们知道,数组的循环原创 2020-07-23 09:12:54 · 750 阅读 · 0 评论 -
java获取http请求的Header和Body
在开发过程中,我们请求后台接口时,有时需要携带一些必要的参数信息,但是把它放在url中又有点不太合适,我们往往可以把参数信息放在请求头的body中进行请求即可。在http请求中,有Header和Body之分,读取header使用request.getHeader("…");读取Body使用request.getReader(),但getReader获取的是BufferedReader,需要把它转换成字符串,下面是转换的方法public class TestController { @Requ原创 2020-07-21 11:32:37 · 4642 阅读 · 0 评论 -
项目开发报错问题集
1,使用注解 @Transactional(rollbackFor = {RuntimeException.class, Error.class}) 时候,不能跨库操作,否则会报该数据表不存在的问题@Transactional(rollbackFor = {RuntimeException.class, Error.class})### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table 'db_weig原创 2020-05-25 08:53:38 · 315 阅读 · 0 评论 -
shiro过滤器详解分析
目录1,目标2、继承关系及结构3、Filter过滤器简介4、shiro过滤器分析1、AbstractFilter![在这里插入图片描述](https://img-blog.csdnimg.cn/20200417172901106.png)2、NameableFilter3、OncePerRequestFilter4、AdviceFiltershiro最核心的2个操作,一个是登录的实现,一就是过滤...转载 2020-04-17 17:37:55 · 825 阅读 · 0 评论 -
Java将String转换成json对象或json数组
这里的SmartProejctEquipmentMap是我自定的一个实体类,可以自己定义转换。注意:json字符串中键的名称要和实体类一致。@Test public void TestJsonObject() { String datajson = "" + "[" + " {" + ...原创 2020-04-17 10:25:37 · 31562 阅读 · 3 评论 -
【设计模式】单例模式的几种写法分析
文章目录何谓单例模式?单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。单例模式,简单的说就是...转载 2019-12-02 11:13:07 · 139 阅读 · 0 评论 -
Java -- 异常知识点总结
一:概念异常指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM(Java虚拟机)的非正常停止。(阻止当前方法或作用域继续执行的问题)在Java中,异常本身就是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常就是中断处理,程序不能继续跑下去。注意:异常指的并不是语法错误,语法错了,编译不通过,不会产生字节码文件,根本不能运行。二:异常分类异常的根类是j...原创 2019-11-26 11:14:30 · 392 阅读 · 0 评论 -
关于String的一些问题
关于equals()和==:对于String简单来说就是比较两字符串的Unicode序列是否相当,如果相等返回true;而==是 比较两字符串的地址是否相同,也就是是否是同一个字符串的引用。关于String是不可变的:我们都知道String的实例一旦生成就不会再改变了,比如说:String str = “hello” + " " + “world” + “!”; 就是有4个字符串常量,首先”...原创 2019-11-22 09:19:13 · 160 阅读 · 0 评论 -
引用数据类型自动拆装箱
开发中既然有基本类型和包装类型,肯定有些时候要在它们之间进行转换。把基本类型转换成包装类型的过程叫做装箱(boxing)。反之,把包装类型转换成基本类型的过程叫做拆箱(unboxing)。先看一段代码 // 第一组 int a = 100; Integer b = 100; System.out.println( a == b...原创 2019-11-13 09:38:15 · 160 阅读 · 0 评论 -
Quartz定时任务
一.Quartz概念Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。quartz是开源且具有丰富特性的"任务调度库",能够集成于任何的java应用,小到独立的应用,大至电子商业系统。quartz能够创建亦简单亦复杂的调度,以执行上十、上百,甚至上万的任务。任务job被定义为标准的java组件...原创 2019-11-12 08:42:42 · 1909 阅读 · 0 评论 -
Java中正则表达式的运用
Java中正则表达式字符表示的含义: 字符 说明 \ 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,"n"匹配字符"n"。"\n"匹配换行符。序列"\\\\"匹配"\\","\\("匹配"("。 ^ 匹配输入字符串开始的位置。如果设置了RegExp对象的Mult...原创 2019-11-07 09:55:39 · 151 阅读 · 0 评论 -
Java中double类型转换成String类型
/* * 如果是小数,保留两位,非小数,保留整数 * @param number */ public static String getDoubleString(double number) { String numberStr; if (((int) number * 1000) == (int) (number ...原创 2019-11-04 16:49:11 · 5232 阅读 · 0 评论 -
容器(二)
Java 208 道面试题 · 容器18. java 容器都有哪些?常用容器的图录:19. Collection 和 Collections 有什么区别? java.util.Collection 是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接...转载 2019-11-04 09:37:19 · 93 阅读 · 0 评论 -
基础模块(一)
Java基础1.JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。具体来说 JDK 其实包含了 JRE,同时还包含了编译 java 源码的编译器 javac,还包...转载 2019-11-04 08:48:50 · 138 阅读 · 0 评论 -
Java 最常见的 200+ 面试题:面试必备
面试题模块介绍说了这么多,下面进入我们本文的主题,我们这份面试题,包含的内容了十九了模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。如下图所示...转载 2019-11-04 08:44:46 · 115 阅读 · 0 评论 -
Java中随机数函数Random()详解+案例
Java中Random()对象是生成随机数的对象。Random()有两种构造方法: Random():创建一个新的随机数生成器,这种方式采用默认的种子。 Random(long seed):使用seed为种子创建一个新的随机数生成器。 种子的作用:我们在创建Random对象的时候,如果不设定种子,对象会采用默认的种子(默认当前系统时间的毫秒数为种子)。Ra...原创 2019-10-17 09:37:19 · 53784 阅读 · 5 评论 -
JAVA8 STREAM新特性详解及实战
Java8 Stream新特性详解及实战背景介绍在阅读Spring Boot源代码时,发现Java 8的新特性已经被广泛使用,如果再不学习Java8的新特性并灵活应用,你可能真的要out了。为此,针对Java8的新特性,会更新一系列的文章,欢迎大家持续关注。首先,我们来看一下Spring Boot源代码ConfigFileApplicationListener类中的一段代码:pr...转载 2019-10-14 10:43:38 · 207 阅读 · 0 评论 -
JSP的3大指令和9大内置对象
3、JSP三大指令一个jsp页面中可以有0-N个指令的定义。3.1、page指令通常位于JSP页面的顶端,同一个页面可以有多个page指令。语法:<%@ page ....%>pageEncoding和contentType属性:pageEncoding:它指定当前jsp页面的编码,在服务器要把jsp编译成.java时需要使用pageEncoding;cont...原创 2018-12-03 20:54:32 · 280 阅读 · 0 评论 -
Java中final和static修饰符
final修饰符: final修饰常量:Java语言中利用final关键字来进行Java常量定义。当常量被设定后,一般情况就不允许再次进行更改。如果强行赋值的话,数据库会跳出错误信息,并拒绝接受这一个新的值。 final修饰对象:引用变量不能重新赋值,但是引用指向的对象的内容可以变化(例1:final StringBuffer a=new StringBuffe...原创 2018-12-03 15:55:41 · 278 阅读 · 0 评论 -
Java-单例模式详解(图文教程)
1:java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍两种:懒汉式单例、饿汉式单例单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。目的 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打...原创 2018-12-03 14:43:13 · 240 阅读 · 0 评论 -
Java中,输入一个字符串,求出现次数最多的一个字符
package com.test;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.HashMap;import java.util.Scanner;import java.util.Timer;import java.u...原创 2018-11-21 21:10:46 · 797 阅读 · 0 评论 -
mybaties简单入门以及配置文件的简单优化
一:什么是mybatis?MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手工设置参数以及抽取结果集。MyBatis 使用简单的 XML 或注解来配置和映射基本体,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。 -----------...原创 2018-10-10 22:47:01 · 177 阅读 · 0 评论 -
Java项目怎么打包成在windows下的可安装程序
一:将项目文件导出成jar文件: 1,找到我们完成的项目代码,导出:(右键单击—>Export)2,选择java —>JAR file 下一步:3,第一个不勾选,下一步:4,选择java类中有main方法的作为入口:下一步:5,点击完成即可在相应的目录下找到导出的jar包:点击jar包可以直接在本机运行: 二:将导出的jar文件打...原创 2018-10-08 21:48:50 · 4501 阅读 · 1 评论 -
Java开发中23中设计模式详解(转载)
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。其实还有两...转载 2018-12-28 19:59:17 · 142 阅读 · 0 评论 -
[Java算法]--生成全局唯一的Id(IdGen)
我们在开发中,有时非常需要一个全局唯一的ID值,不管是业务需求,还是为了以后可能的分表需求,全局唯一值都非常有用,本篇大象就来讲讲这个实现并对ID生成器性能进行一下测试。 大象所讲的这个全局唯一ID生成器,其实是Twitter公开的一个算法,源码是用Scala写的,被国内的开源爱好者改写成了Java版本。 大象将这个类的调用简化了一下,实际使用中还是应该根据机器节点和数据中心节点来配置...转载 2018-12-24 16:10:13 · 2183 阅读 · 0 评论 -
JDK8的特性汇总
博客园:https://www.cnblogs.com/suger43894/p/8746514.htmlCSDN博客:https://blog.csdn.net/gan18662672213/article/details/80485564Oracle官网:https://www.oracle.com/technetwork/cn/java/javase/8-whats-new-2157...转载 2019-01-07 23:20:34 · 152 阅读 · 0 评论 -
Java开发用到的知识小结
1,怎么保证数据的一些安全性? 在操作系统层面:如防火墙的设置,将端口8080设置成只有自己电脑能访问。 应用系统层面:例如:登录拦截,拦截访问的请求,使用过滤器过滤所有请求,若没有登录的请求路径,都跳转到登录页面 登录权限的分配。密码不能是明文,必须加密,加密算法是不可逆的,(一般是MD5加密,但是MD5也是不安全的...原创 2019-01-16 20:27:05 · 235 阅读 · 0 评论 -
Java中关于超长字符串压缩,解压缩问题
问题:数据库中varchar类型的长度设置为5000,通过一个富文本编辑器编辑了通知内容,接收到了内容字段长度为8000多,unruly数据库时候,数据库报错(字段太长,显示下标越界异常)解决办法:通过将得到的内容压缩后存入数据库中,取数据时候,将数据解压缩即可代码案例如下所示:(一个字符串长度为一万以上,通过压缩后,长度仅为800左右,完全满足存库条件)package vaadin...原创 2019-06-02 21:33:41 · 10933 阅读 · 3 评论 -
Java总结一:JDK的下载,安装以及环境变量的配置
JDK下载:进入Java的官网:直接搜索JDK(或者点击下方链接)即可:https://www.oracle.com/technetwork/java/javase/downloads/index.html可以看到,目前JDK已经出到了 12.0.1的版本了。这里我们用8的版本。滑动鼠标一直到最下方,找到Java Archive(所有历史版本),点击后面的D...原创 2019-06-16 22:49:32 · 6519 阅读 · 3 评论 -
Java的接口(interface)
Java的接口(interface)想了解接口(interface)我们先来看看接口的概念:(对修改关闭,对扩展开放) 接口狭义的来讲就是Java中的interface;广义的来讲就是对外提供规则的就是接口。接口的特点:1.接口是一种引用类型,可以等同看作类。修饰符 interface + 接口名2.接口中只能出现常量(常量是静态的、公共的,默认修饰符:public ...原创 2019-09-26 13:11:56 · 172 阅读 · 0 评论 -
LocalDate类方法介绍
关于时间的处理:LocalDate(格式为:2019-05-27) 方法名 返回值 方法解释 getYear() int 获取当前日期的年份 getMonth() Month 获取当前日期的月份对象 getMonthValue() int 获取当前日期是第几月 getDayOfWeek() DayOfWee...原创 2019-09-27 16:39:53 · 297 阅读 · 0 评论 -
Java poi 实现 Excel文件的导入导出
Java实现Excel文件的导入导出 操作方式有两种:jxl方式和poi方式由于版本更新,jxl方式适用于Excel 95-2000的所有版本,生成Excel 2000标准格式(文件后缀为xls格式),但是目前的新版版本(新版本Excel通常为xlsx格式,强制转格式可能会引起文件损坏等错误)可能不适用,此次我们使用poi方式实现。 Jar准备:需要的jar包如下...原创 2018-09-26 16:44:31 · 308 阅读 · 0 评论