Java
Mayny
这个作者很懒,什么都没留下…
展开
-
Tomcat 8接收HTTP请求失败的一种报错
一个项目发送HTTP请求到另一个项目,发现另一个项目并没有收到请求,之前Tomcat 7升级到了Tomcat 8,发现是请求中包含了特殊字符 [ ],才导致的请求失败。这是因为Tomcat严格按照 RFC 3986规范进行访问解析,而RFC 3986规范定义了URL中只允许包含英文字母(a-z A-Z)、数字(0-9)、-_.~ 4个特殊字符以及所有保留字符(RFC 3986中指出了以下字符为保...原创 2019-10-28 14:20:22 · 960 阅读 · 0 评论 -
Java HTTP post请求中某一个参数太长的问题
公司项目碰到一个问题,是从一个项目post请求到另一个项目,由于其中的一个参数是在太长,会报如下错误。java.lang.IllegalArgumentException: Request header is too large通过更改server.xml的方式配置Tomcat。<Connector connectionTimeout="20000" port="8080" prot...原创 2019-10-24 16:22:31 · 4470 阅读 · 0 评论 -
Java基础——反射
反射是框架设计的灵魂!使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码)一、反射的概述 Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。 要想剖析一个类,必须先要获取到该类...转载 2018-05-02 20:53:05 · 132 阅读 · 0 评论 -
Java集合框架汇总
HashMap是一个最常用的Map,它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得数据的顺序是完全随的。HashMap最多只允许一条记录的键为NULL,允许多条记录的值为NUll。HashMap不支持线程的同步,即任意时刻可以有多个线程同时写HashMap;可能会导致数据的不一致。如果需要同步,可以用Collections的synchronizedM转载 2017-02-23 21:54:27 · 338 阅读 · 0 评论 -
深入理解Java虚拟机 精华总结(面试)
一.运行时数据区域 Java虚拟机管理的内存包括几个运行时数据内存:方法区、虚拟机栈、堆、本地方法栈、程序计数器,其中方法区和堆是由线程共享的数据区,其他几个是线程隔离的数据区。 1.1程序计数器 程序计数器是一块较小的内存,他可以看做是当前线程所执行的行号指示器。字节码解释器工作的时候就是通过改变这个计数器的值来选取下一条需要执行的字节码的指令,分支、循环、跳转、异常处理、线程恢转载 2017-02-24 13:58:29 · 26983 阅读 · 1 评论 -
JAVA解析XML有哪几种方法?并简述各自的优缺点
DOM: 是用与平台和语言无关的方式表示XML文档的官方W3C标准,分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。是基于信息层次的 优点有:由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,而不是像SAX那样是一次性的处理。DOM使用起来也要简单得多。 SAX : 对于特别大的文档,解析和加载整个文档可能原创 2017-03-27 10:28:20 · 3933 阅读 · 0 评论 -
GBK UTF8 GB2132
GBK就是在保存你的帖子的时候,一个汉字占用两个字节,外国人看会出现乱码,为此我中华为自己汉字编码而形成之解决方案。 UTF8就是在保存你的帖子的时候,一个汉字占用3个字节。但是外国人看的话不会乱码。为此西人为了解决多字节字符而形成之解决方案。 ASCII(ISO-8859-1)是鼻祖,最简单的方式,字节高位为0 GB2312、GBK、GB18030,这几个是中文编码方式,并向下兼转载 2017-03-13 14:20:09 · 2007 阅读 · 0 评论 -
Java网络编程详解
1.网络编程 1.1计算机网络概述 网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输。 按照计算机网络的定义,通过一定的物理设备将处于不同位置的计算机连接起来组成的网络,这个网络中包含的设备有:计算机、路由器、交换机等等。 其实从软件编程的角度来说,对于物理设备的理解不需要很深刻,就像你打电话时不需要很熟悉通信网络的底层实现是一样的,但是当深入到网络编程的底层转载 2017-02-27 19:34:01 · 12061 阅读 · 5 评论 -
设计模式
1.设计模式简介 设计模式代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模转载 2017-03-02 19:27:50 · 341 阅读 · 0 评论 -
Java 多线程
本文主要讲了Java中多线程的使用方法、线程同步、线程数据传递、线程状态及相应的一些线程函数用法、概述等。 首先讲一下进程和线程的区别: 进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1-n个线程。 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器,线程切换开销小。 线程和进程一样分为5个阶段:创建、就绪、转载 2017-02-26 17:22:14 · 453 阅读 · 0 评论 -
Java流(Stream)、文件(File)和IO
Java.io包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。 Java.io包中的流支持很多格式,比如:基本类型、对象、本地化字符集等等。 一个流可以理解为一个数据的序列。输入流表示从一个源读取数据,输出流表示向一个目标写数据。 Java为I/O提供了强大而灵活的支持,使其更广泛的应用到文件传输和网络编程中。 但本节讲述最基本的和流与I/O有光的转载 2017-02-28 09:42:00 · 350 阅读 · 0 评论