自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 maven项目Class明明已经被引用进来了,运行时却提示找不到类

如图所示,Reflections类明明已经被引入了,运行时却提示ClassNotFound。原因很可能出在这里:pom.xml中依赖的scope被设置成了provided。解决方法:provided改成compile即可。

2023-02-22 12:02:46 1893

原创 idea导入maven项目失败报错unable to import maven project

idea导入maven项目一直失败,报错unable to import maven project 然后让你去看log文件,log文件看了也没看懂。我这里的解决方法是:换一个低版本的maven,在reimport一下成功了。

2022-02-25 22:10:36 854

原创 windows下idea构建springframework5.1.x源码阅读环境(无需翻墙)

1.安装jdk1.8,略过。2.安装gradle-4.10.3springframework5.1.x源码构建工具是gradle-4.10.3版本。点击链接从gradle官网下载4.10.3版本的二进制包下载后解压添加环境变量,GRADLE_HOME 为安装目录,GRADLE_USER_HOME为类似maven的本地仓库。添加path打开cmd查看是否安装成功执行grade -v最重要的点:为了加速构建过程中依赖包的下载速度,使用阿里云镜像。在gradle安装目录下的init.

2020-07-11 20:37:27 333 1

原创 Spring中ImportSelector接口的作用

Spring中ImportSelector接口的作用@Import()注解的作用:当我们需要导入某个类到spring容器中去,但spring恰好无法扫描到这个类,而我们又无法修改这个类(jar包形式)。我们就可以通过@import(xxx.class)是将这个类导入到spring容器中。写一个例子;创建一个Test类://不加任何注解或配置bean.xml,仅仅表示一个外部类,与spr...

2020-04-11 01:19:33 885

原创 ThreadLocal的作用

应用场景对于请求A服务器需要依次执行方法a,b,c....等n个方法(并不一定在同一个类中),其中有多个方法需要使用A上传的某个或某些参数。问题:对于这些方法如何去获取请求参数?解决方法:1.将请求参数当做这些方法的参数传入。缺点就不说了。。。2.将请求参数封装在一个静态对象B,这样所有的方法都可以访问。缺点:多线程下,存在线程安全问题。例如当线程Thread_A执行到c方法时,又来...

2020-02-25 21:21:47 173

原创 redis基本数据类型

String,命令:set [key] [value],get [key]List,是一个栈:后进先出。命令:lpush [表名] [value],lrange [表名] [b] [e]Hash,是一个表:命令:hmset [表名] [key1] [value1][key2][value2]... hget [表名] [key]Set,无序,不重复。命令:sadd key member。 s...

2019-04-08 13:23:01 122

原创 Class文件结构

Class类文件的结构类型名称数量u4magic(魔数)1u2minor_version(此版本号)1u2major_version(主版本号)1u2constant_pool_count(常量池容量计数值)1cp_infoconstant_pool(常量池表)constant_pool_count-1u2access_f...

2019-04-01 21:45:54 118

原创 运行时数据区

程序计数器 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的`行号指示器`。 在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。 每个线程都需要一个独立的程序计数器,各线程计数器之间互不影响,独立存储,我们称这类内存区域为“`线程私有`”的内存。 如果线程正在执行的是一个Java方法,这个计数器记录的是正在执...

2019-03-15 14:31:54 114

原创 大数乘法

在牛客上看到的解法主要部分`:int[] d = new int[num1.length() + num2.length()]; for (int i = 0; i < num1.length(); i++) { int a = num1.charAt(i) - '0'; for (int j = 0; j < num2.length(); j++) { ...

2019-03-13 19:44:21 137

原创 Hibernate工作原理

Hibernate开发过程用到的5个核心接口:Configuration接口,SessionFactory接口,Session接口,Transaction接口以及用于数据查询的Query接口。通过这些接口可以对持久化对象进行操作,还可以进行事物控制。hibernate进行持久化操作的主要步骤:1.Hibernate初始化,创建Configuration对象。2.创建SessionFact...

2018-12-12 21:04:59 195

原创 Hibernate项目完整流程

(1)准备开发环境,创建Hibernate项目。开发环境:eclipse+hibernate tools插件+hibernate各种jar包+mysql和mysql-connector-java;eclipse在线安装hibernate tools插件,下载hibernate压缩包解压。创建动态web项目,将mysql-connector-java-xxx复制到WEB-INF/lib下在bu...

2018-12-12 19:14:24 558

原创 严重: Can not find a java.io.InputStream with the name [downloadFile] in the invocation stack. Check..

记一下。分析出现这个问题的原因:我做了测试,action中相关代码如下 public java.io.InputStream getDownloadFile()throws Exception{ System.out.println(path); try { downloadFile=ServletActionContext.getServletConte...

2018-12-06 17:18:07 187

原创 JSON插件

JSON插件是Struts2的Ajax插件,是一种轻量级的数据交换格式,它提供了一种名为json的Action结果类型。如果为Action指定了该结果类型,则该结果类型不需要映射到任何视图资源(jsp页面),而是由JSON插件自动地将此Action中的数据序列化成JSON格式的数据,并返回给客户端页面的JavaScript。JSON插件的依赖包:struts2-json-plugin-2.x.x...

2018-12-05 23:56:24 1550

原创 Caused by: Action class [xxx] not found 解决方法

在学struts2框架时遇到这个问题,网上有很多解决办法,但我都试过还是没解决。比如有人说清除eclipse的项目缓存,我tm所有项目全都clean了还是没用!!!然后仔细看了看我的报错,它说:Unable to load configuration. - action - file:path。、这里的path是本地Tomcat中webapps文件夹下的东西,大家都知道这个就是放项目的,然...

2018-12-05 23:30:57 694

原创 java的8种基本数据类型

byte:8bitshort:16bitint:32bitlong:64bitfloat:32bitdouble:64bitchar:16bitboolean:据说单个变量按int来处理,数组按byte处理…

2018-12-05 17:01:45 112

原创 switch语句注意

以前没在意过switch语句,直到今天才发现switch语句的细节之处。switch(value){case xx:do something;case xx1:do something;…default:do something;}先来一个正常的,int value=2; switch (value) { case 0:...

2018-12-05 16:43:52 287

转载 基数排序

转一篇来自https://www.cnblogs.com/skywang12345/p/3603669.html通过基数排序对数组{53, 3, 542, 748, 14, 214, 154, 63, 616},它的示意图如下:radix_sort(a, n)的作用是对数组a进行排序。首先通过get_max(a)获取数组a中的最大值。获取最大值的目的是计算出数组a的最大指数。获取...

2018-12-04 19:58:29 122

转载 归并排序

import java.util.*;public final class Test { public static void printf(int []a) { for(int i=0;i<a.length;i++) { System.out.print(a[i]+" "); } S...

2018-12-04 19:15:52 138

转载 堆排序

import java.util.*;public final class Test { public static void printf(int []a) { for(int i=0;i<a.length;i++) { System.out.print(a[i]+" "); } S...

2018-12-04 17:32:15 110

原创 简单选择排序

算法原理:通过n-i次比较整除剩余的未排序的记录中最小的值与第i个记录交换。算法实现:import java.util.*;public final class Test { public static void printf(int []a) { for(int i=0;i<a.length;i++) { Sy...

2018-12-04 16:59:48 110

原创 快速排序

算法原理:通过一趟排序将记录分成两部分,其中一部分所有记录均比另一部分小,再继续处理两子部分。算法实现:import java.util.*;public final class Test { public static void printf(int []a)//输出打印 { for(int i=0;i<a.length;i++) {...

2018-12-04 16:45:11 118

原创 希尔排序

算法原理:将待排序记录分成若干子序列分别进行直接插入排序,当整个序列基本有序时再全体进行一次插入排序。算法优点:直接插入排序性能特点是在待排序记录规模较小、基本有序时排序效率较高,所以希尔排序就是在规模较大时将记录分割成较小的块用插入排序获得较高的效率,当块越来越小整个序列也变得更有序时对整体进行插入排序也能获得较高的效率。算法缺点:在分割合并过程中相等大小的元素无法保证初始的相对位置,所以该...

2018-12-04 16:11:15 101

原创 直接插入排序(Straight Insertion Sort)

排序原理:将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增加1的有序表。算法实现:public final class Test { public static void printf(int []a){ for(int i=0;i<a.length;i++){ System.out.print(a[i]+" "); } } public static void sort(...

2018-12-04 15:20:58 110

原创 哈希表

1.哈希表的定义:根据设定的哈希函数和处理冲突的方法将一组关键字映像到一个有限的连续的地址集合上,并以关键字在地址集合中的“像”作为记录在表中的存储位置,这种表便称为哈希表,这一映像过程称为散列,所得的存储位置称为哈希地址或散列地址。2.哈希函数:除留余数法: Hash(key)=key%p,p<=m ;// m为哈希表长这是最简单也是最常用的。3.处理冲突:有开放地址法、再哈希...

2018-11-30 18:33:00 93

原创 二叉树排序算法

树的特征:左孩子<父节点<右孩子。先构造树,然后中序遍历。算法实现:public class BinaryTreeSort { private Node root; public class Node{ private int value; private Node left; private Node right;...

2018-11-30 17:58:25 249

原创 final关键字的几种用法

1.修饰变量:final修饰的变量即为常量,初始化后不可再被改变。可以看到final修饰的变量必须初始化,不然编译器会报错。从上可以看到,final变量只能在声明时或构造函数中初始化,而不能在其他方法中初始化。对于static final一起修饰的变量必须在定义时就赋值,不能再构造函数中,见下图,static的变量不属于这个类内部的东西,this里面也没有。2.修饰方法:final修...

2018-11-30 16:13:57 547

原创 数据库范式

第一范式:字段原子性(不可分割)第二范式:字段与主键相关第三范式:字段与主键直接相关

2018-11-28 14:59:44 114

原创 重载和重写

##重载:重载是指一个类有多个名字相同但参数不同(数量或类型不同)的方法。重载对返回类型没有特殊的要求,不能根据返回类型进行区分。##重写:重写是指子类具有方法名和父类相同的方法(方法参数列表相同,返回值类型相同),子类不能重写父类中final修饰的方法,必须重写abstract类型的方法。限定修饰符修饰范围不能变小,不能抛出新的异常(异常的子类可以)...

2018-11-23 15:39:51 112

原创 # java运行时异常RuntimeException

使用一个例子来分析运行时异常处理机制。首先编译运行一下编译过程没出错,可以运行。输入1和 0看运行结果:这里捕获到14行出现ArithmeticException异常,除数b=0。这就是运行时异常,编译时检查不出来,但在运行过程中可能会出现错误,比如除数为0,数组下标越界等等。我们来看看异常抛出过程:捕捉到了异常,产生一个异常对象可以看到我们的所有java类都是Objec...

2018-11-23 12:17:50 452

原创 自定义运行时异常

import java.util.Scanner;public class Test{ static class MyException extends RuntimeException { public MyException() { super(); } public MyExcept...

2018-11-23 12:17:29 384

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除