
Java
文章平均质量分 50
Java
目百
重要的事
展开
-
SpringBoot过滤器Filter的使用
问题:springboot项目,过滤器Filter功能,jar包测试及发布一切正常。发布war包后,过滤器失效,autowired和value取不到值。我们在配置spring时会用到spring的listener,它会读取application.xml里的配置对spring context进行初始化;项目启动时,先初始化listener,因此配置在applicationContext.xml里的bean会被初始化和注入;然后再来就filter的初始化,再接着才到我们的dispathServlet的初始化原创 2021-03-30 13:47:48 · 403 阅读 · 0 评论 -
yml文件映射读取
配置文件格式: display-mode: brief-view: AAA: default: listmode,custommode AA: listmode,custommode@Component@ConfigurationProperties("display-mode") //前缀@PropertySource(value = "classpath:/config/gb/KN...原创 2021-02-18 15:52:29 · 318 阅读 · 1 评论 -
cookie 获取不到设定值
检查后台cookie值 读取不到的处理步骤和方法1,检查是否给cookie赋值。前端还是后台2,检查path是否设定好范围。cookie 要设定path的属性来确定使用范围3,检查cookie值是否包含特殊字符。无特殊字符可获取到,有特殊字符无法获取Cookie [] cookies = request.getCookies(); 获取的cookie 不能包含特殊字符String cookie = request.getHeader("cookie"),获取所有的cookie值,可根.原创 2021-02-08 11:05:53 · 1765 阅读 · 0 评论 -
httpclient 远程异步调用工具类
import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.c..原创 2021-01-28 11:41:33 · 424 阅读 · 0 评论 -
URL中文字符处理工具类
/** * 处理url里的中文 * @param url * @return */private String dealURLChinaStr(String url){ if (StringUtils.isEmpty(url)) { return url; } url = url.trim(); String[] urlParts = url.split("\\?"); if(null == urlParts || urlParts.len.原创 2021-01-28 11:38:54 · 263 阅读 · 1 评论 -
ArrayList 和 LinkList 的区别--源码解析
基于jdk1.8的总结 linklist arraylist 源码展示及说明 public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable Deque:支持两端元素插入和移除的线性集合 AbstractSequent..原创 2020-05-09 15:55:10 · 248 阅读 · 0 评论 -
String,StringBuffer,StringBuilder 的使用及拓展
一、String的源码简扒,如下图:String是 final 类,String的基本数据类型是 char,数据实现方式是数组(数据在内存中连续排放),且数组为 final 类型(不可修改)。 结合圈中的英文,String 创建出来的对象不可修改。顺便一提,定义char变量的时候用单引号‘’,且字符长度为1,如 char a= '';二、String 的使用示例补充:== ...原创 2020-05-08 17:06:04 · 309 阅读 · 0 评论 -
int 和 Integer 的区别
int是基本数据类型。不需要实例化。直接存储数据值,数据存储在常量池。默认为0。int a = 100;integer是int的包装类型。要实例化。是对象的引用,要重新分派存储位置,有地址和值两个属性。默认为null。Integer b = new Integer(100);1,integer不同创建对象的引用是不同的,但值是相同的。new Integer(1) == new Int...原创 2020-05-07 21:43:55 · 1591 阅读 · 0 评论 -
编程思想 -- 第21章 -- 并发
并发 并行编程可以让程序执行速度得到极大提高,或者为设计某些类型的程序提供更易用的模型,或者两者皆有。了解并发可以使你意识到明显正确的程序可能会展示出不正确的行为。理解并发编程,其难度与理解面向对象编程差不多。 一、并发的多面性 用并发解决的问题大体上可以分为速度和设计可管理型两种。 1,更快的执行: 并发是用于多处理器编程的基本工具,并发通常是提高运行在单...原创 2019-12-24 10:35:39 · 429 阅读 · 0 评论 -
编程思想 -- 第20章 -- 注解
注解 注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便的使用这些数据。 注解在一定程度上把元数据与源代码文件结合在一起,而不是保存在外部文档中这一大的趋势之下所催生的。同时,注解也是对来自像C#之类的其他语言对Java造成的语言特性塔里所作出的一种回应。 注解可以提供用来完整描述程序所需要的信息,而这些信息是无法用Java...原创 2019-12-13 17:47:15 · 270 阅读 · 0 评论 -
编程思想 -- 第19章 -- 枚举类型
枚举类型 关键字enum可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序组件使用,这是一种非常有用的功能。 一、基本enum特性 调用enum的values()方法,可以遍历enum实例。values()方法返回enum实例的数组,而且该数组中的元素严格保持其在enum中声明时的顺序,因此你可以在循环中使用values()返回的数组。 ...原创 2019-12-12 18:02:01 · 223 阅读 · 0 评论 -
编程思想 -- 第18章 -- JAVA I/O系统
Java I/O系统创建一个好的 输入/输出(I/O) 系统是一项艰难的任务。不仅存在各种I/O源端和想要与之通信的接收端(文件,控制台,网络链接等),而且还需要以多种不同的方式与它们进行通信(顺序,随机存取,缓冲,二进制,按字符,按行,按字等)。Java类库的设计者通过创建大量的类解决这个难题。一、File类 File这个名字既能代表一个特定的文件名称,又能代表一个目录下一组文...原创 2019-12-11 13:42:06 · 287 阅读 · 0 评论 -
编程思想 -- 第17章 -- 容器深入研究
容器深入研究一、完整的容器分类法 以下是集合类库更完备的图,包括抽象类和遗留构件(不包括Queue的实现): 虚线表示abstract类。 二、填充容器 fill()方法和addAll()方法。 一种Generator:事实上所有的Collection子类型都有一个接收另一个Collection对象的构造器,用所接收的Collectio...原创 2019-12-02 17:28:45 · 189 阅读 · 0 评论 -
编程思想 -- 第16章 -- 数组
数组对数组的基本看法是你可以创建并组装它们,通过使用整形索引值访问它们的元素,并且它们的尺寸不能改变。一、数组为什么特殊 数组与其它种类的容器区别有三:效率,类型和保存基本数据类型的能力。数组可以持有基本类型,而泛型之前的容器则不能。数组比容器仅存的优点是效率。 数组是一种效率最高的存储和随机访问对象引用序列的方式。数组是一个简单的线性序列,使得元素访问非常快速。代价是数组...原创 2019-11-28 18:06:18 · 157 阅读 · 0 评论 -
编程思想 -- 第15章 -- 泛型
泛型一般的类和方法,只能使用具体的类型,要么是基本类型,要么是自定义的类。如果要编写可以应用于多种类型的编码,这种刻板的限制对代码的束缚就会很大。在面向对象编程语言中,多态算是一种泛化机制。拘泥于单继承体系,会使程序受限太多。有时候使用接口,对程序的约束还是太强。泛型实现了参数化类型的概念,使代码可以应用于多种类型。最初的目的是希望类或方法能够具备最广泛的表达能力,通过解耦类或方法与所使用...原创 2019-11-27 17:39:13 · 226 阅读 · 0 评论 -
编程思想 -- 第14章 -- 类型信息
类型信息运行时类型信息使得你可以在程序运行时发现和使用类型信息。Java在运行时识别对象和类的信息主要有两种方式:一种是传统的RTTI,它假定我们在编译时已经知道了所有的类型;另一种是反射机制,它允许我们在运行时发现和使用类的信息。一、为什么需要RTTI 在Java中所有的类型转换都是在运行时进行正确性检查的,这是RTTI最基本的使用形式,RTTI名字的含义:在运行时,识别一个对...原创 2019-11-26 17:55:16 · 133 阅读 · 0 评论 -
编程思想 -- 第13章 -- 字符串
字符串字符串操作是计算机程序设计中最常见的行为一、不可变String String对象是不可变的。String类中每一个看起来会次改String值的方法,实际上都是创建一个全新的String对象,以包含修改后的字符串内容,而最初的String对象丝毫未动二、重载 “+” 与StringBuilder String对象是不可变的,你可以给一个String对象加任意多的别名...原创 2019-11-26 09:41:55 · 198 阅读 · 0 评论 -
编程思想 -- 第12章 -- 通过异常处理错误
通过异常处理错误java的基本理念是“结构不佳的代码不能运行”java异常处理的目的在于通过使用少于目前数量的代码来简化大型,可靠的程序的生成,并通过这种方式可以使你更加自信:你的应用没有未处理的错误。异常的相关知识学起来并非艰涩难懂,并且它属于那种可以使你的项目收益明显,立竿见影的特性之一。一、概念 对于构造大型健壮可维护的程序而言,不去检查错误的错误处理模式情形已经成为了主...原创 2019-11-25 16:45:00 · 476 阅读 · 0 评论 -
编程思想 -- 第11章 -- 持有对象
持有对象 通常程序总是根据运行时才知道的某些条件去创建新对象。在此之前,你不会知道所需对象的数量,甚至不知道确切的类型。 在java中,容器类是可以显著增强编程能力的基本工具 一、泛型和类型安全的容器 @SuppressWarnings注解及其参数表示有关“不受检查的异常”的警告信息应该被一直通过使用泛型,可以在编译器防止将错误类型的对象放置到容器中。...原创 2019-11-21 09:15:00 · 224 阅读 · 0 评论 -
编程思想 -- 第10章 -- 内部类
内部类可以将一个类的定义放在另一个类的定义内部,这就是内部类。内部类是一种非常有用的特性,因为它允许你把一些逻辑相关的类组织在一起,并控制位于内部的类的可视性。在最初,内部类看起来就像是一种代码隐藏机制:将类置于其他类的内部。但是,内部类远不止如此,它了解外围类,并能与之通信;而且你用内部类写出的代码更加优雅而清晰。一、创建内部类 创建内部类方式就如同你想的一样--把类的定义...原创 2019-11-19 15:28:23 · 142 阅读 · 0 评论 -
编程思想 -- 第9章 -- 接口
接口接口和内部类为我们提供了一种将接口和实现分离的更加结构化的方法。一、抽象类和抽象方法 抽象类是普通类和接口之间的一种中庸之道。尽管在构建具有某些未实现方法的类时,你的第一想法可能是创建接口,但是抽象类仍旧是用于此目的的一种重要而必须的工具。因为你不可能总是使用纯接口。 java提供抽象方法机制,仅有声明没有方法体。用abstract修饰。包含抽象方法的类叫抽象类。如果一...原创 2019-11-15 17:31:45 · 176 阅读 · 0 评论 -
编程思想 -- 第8章 -- 多态
多态在面向对象的程序设计语言中,多态是继数据抽象和继承之后的第三种基本特征。(也叫动态绑定,后期绑定或运行时绑定)多态通过分离做什么和怎么做,从另一角度将接口和实现分离开来。多态不但能够改善代码的组织结构和可读性,还能够创建可扩展的程序--满足项目初建或后续扩展。“封装”通过合并特征和行为来创建新的数据类型。“实现隐藏”通过将细节私有化把接口和实现分离开来。多态的作用是消除类型之间的耦合关...原创 2019-11-14 10:08:51 · 173 阅读 · 0 评论 -
编程思想 -- 第7章 -- 复用类
复用类复用代码是java众多引人注目的功能之一,但要想成为极具革命性的语言,仅仅能够赋值代码并对之加以改变是不够的,它还必须能够做更多的事情。一、组合语法 只需将对象一用置于新类中 -- 组合技术的使用。对于非基本类型的对象,必须将其引用置于新的类中。 编译器并不是简单的为每一个引用都创建默认对象,因为在很多情况下会增加不必要的负担。如果想初始化这些引用,可以在代码中的下列...原创 2019-11-12 14:18:54 · 172 阅读 · 0 评论 -
编程思想 -- 第6章 -- 访问权限控制
访问权限控制访问控制(或隐藏具体实现)与“最初的实现并不恰当”有关。重构即重写代码,以使得它更可读,更易理解,并因此而更具可维护性。访问权限控制的等级,从大到小是:public,protected,包访问权限(没有关键词)和private。java用关键字package将构建捆绑到一个内聚的类库单元中。一、包:库单元 包内包含一组类,他们在单一的名字空间下被组织在一起。 ...原创 2019-11-11 15:42:15 · 245 阅读 · 0 评论 -
编程思想 -- 第5章 -- 初始化与清理
初始化与清理随着计算机革命的发展,“不安全”的编程方式已逐渐成为编程代价高昂的主因之一。初始化和清理是涉及安全的两个问题。一、用构造器确保初始化。 java中通过提供构造器,类的设计者可确保每个对象都会得到初始化。创建对象时,如果类具有构造器,java会在用户操作对象之前自动调用相应的构造器,从而保证初始化的进行。 构造器的名称必须与类名完全相同。不接受任何参数的构造器叫...原创 2019-11-07 16:05:47 · 208 阅读 · 0 评论 -
编程思想 -- 第4章 -- 控制执行流程
控制执行流程java中涉及的关键字包括if-else,while,do-while,for,return,break,及switch。java不支持goto语句。一、true和false 所有条件语句都利用表达式的真假来决定执行路径。布尔表达式必须产生一个布尔结果。 如果在布尔测试中使用一个非布尔值,比如if(a),那首先必须用一个条件表达式将其转换为布尔值,如if(a!=...原创 2019-11-05 20:38:54 · 196 阅读 · 0 评论 -
编程思想 -- 第3章 -- 操作符
操作符 java是建立在C++的基础上,然后做了改进和简化。 一、更简单的打印语句 普通:java打印语句:System.out.println(" hello world ! this is my first println "); 简单:引入import static net.mindview.util.Print.* 打印语句 :println(" sim...原创 2019-11-05 13:35:14 · 165 阅读 · 0 评论 -
编程思想 -- 第1章 -- 对象导论
对象导论面向对象程序设计 Object-oriented Programming oop一、抽象过程 所有编程语言都提供抽象机制,解决问题的复杂性直接取决于抽象的质量和类型。 面向对象的五个基本特征: 1,万事万物接对象 2,程序是对象的集合 3,每个对象都有自己的由其他对象所构成的存储 4,每个对象都拥有其类...原创 2019-11-04 16:36:10 · 207 阅读 · 0 评论 -
编程思想 -- 第2章 -- 一切都是对象
一切都是对象一、引用操作对象。 简化理解:遥控器可以操纵电视,但遥控器是个独立的存在,未必一定要与电视机关联 代码示例:String str; 二、必须由你创建所有对象 2.1存储位置: 1,寄存器,处理器内部。速度最快 2,堆栈,RAM(内存),指针向上移动,释放内存,向下移动,分配新内存。速度次之 3,堆,RA...原创 2019-10-31 17:48:27 · 161 阅读 · 0 评论