Java中文编码小结】的更多相关文章

Java中文编码小结 1. 只有 字符到字节 或者 字节到字符 的转换才存在编码转码; 2. Java String 采用 UTF-16 编码方式存储所有字符.unicode体系采用唯一的码点表示唯一的字符信息, 码点的存储方式有UFT-16.UTF-8 等等.:  A String represents a string in the UTF-16 format in which supplementary characters are represented bysurrogate pair…
title: Java序列化小结 date: 2017-05-06 20:07:59 tags: 序列化 categories: Java基础 --- Java序列化就是将一个对象转化成一串二进制表示的字节数组,通过保存或传递这些字节数据来带到持久化或通讯的目的.要序列化,对象必须实现java.io.Serializable接口.反序列化则是将这个字节数组再重新构造成对象,需要原始类作为模板,所以序列化的数据并不像class文件那样保存类的完整的结构信息. FileOutPutStream fo…
Java  基础--小结 java基础 Java源程序(.java文件)——>java字节码文件(.class文件)——>由解释执行器(java.exe)将字节码文件加载到java虚拟机(jvm)——>字节码文件(.class)就会在java虚拟机中执行.   中文名 java 应    用 网络 Java的基本包 java.lang 其中包含有: 接口:Comparable.Cloneable.Runable等 类:八个基本数据类型封装类.Math.Runtime.Object.Str…
近期改的Java应用即将部署,为了强强联合,需要把Java应用部署到linux,我们选择了debian系列.小结一下部署的大致过程,如下: Ubuntu已经默认安装了OpenJDK,但还是比较倾向官方正式的JDK版本,如何安装Oracle 的JDK,请参考这里. 由于我们使用的Oracle数据库,为了发挥更好的性能,我们需要配置客户端TNS,如何配置请参考这里. 使用Eclipse到处可执行的jar包,为了配置方便,我把应用的所有相关配置文件放在与该应用同级的config目录里,这些配置文件包括…
java的异常处理在面试中通常是个敏感的话题,这里我从整体框架方面稍微作一下我的小结. java的异常都继承Throwable这个类,也就是都可以抛出来的异常,在这个祖先类下,又分为如下子类: 1.Error类,这类异常通常是由系统产生的,也就是系统的错误,是我们程序员控制不了也处理不了的. 2.Exception类:这个类称为可以处理的异常,又分为两种 (1)一种是必须逮的异常,例如我们对文件进行I/O读取时,有可能文件会不存在,会读不到,引起这个错误的不是你编的程序本身,而是出在文件上,因此…
最近工作中用到了大量有关字符串截取的知识,在此做出总结,希望需要的朋友带来帮助:  可以复制粘贴代码直接在java中测试1.将字符串中的指定字符":","-"删除: public static void main(String[] args) { String time="2015-12-06 19:04:08"; String formatedata=time.replaceAll(":", ""); S…
➠更多技术干货请戳:听云博客 Thrift是什么?什么情况下使用thrift Thrift源于大名鼎鼎的facebook之手,在2007年facebook提交Apache基金会将Thrift作为一个开源项目,对于当时的facebook来说创造thrift是为了解决facebook系统中各系统间大数据量的传输通信以及系统之间语言环境不同需要跨平台的特性.所以thrift可以支持多种程序语言,例如:  C++, C#, Cocoa, Erlang, Haskell, Java, Ocami, Per…
1:什么是Servlet? ① Servlet就是JAVA 类② Servlet是一个继承HttpServlet类的类③ 这个在服务器端运行,用以处理客户端的请求 2:Servlet 生命周期 Servlet 加载--->实例化--->服务--->销毁--->垃圾收集. 1>init():在Servlet的生命周期中,仅执行一次init()方法.它是在服务器装入Servlet时执行的,负责初始化Servlet 对象.可以配置服务器,以在启动服务器或客户机首次访问Servlet…
1. 多线程概述 要实现多线程可以通过继承Thread和实现Runnable接口.不过这两者之间存在一些区别.其中最重要的区别就是,如果一个类继承Thread类,则不适合于多个线程共享资源,而实现了Runnable接口,就可以方便地实现资源的共享.其实细说起来并不是能不能资源共享的事情,是因为继承Thread和实现Runnable接口这两种方式新建的任务数本身就是不同的,线程与任务的对应机制也是不同的. 范例1:继承Thread类 创建了多个thread,相当于创建了多个任务,每个任务交由一个t…
本文我们来总结一下可以改变线程状态的若干方法. 一. Thread类中的方法 1.sleep sleep方法属于Thread类,它相当于让线程睡眠,交出CPU,让CPU去执行其他的任务. 但是sleep方法不会释放锁,也就是说如果当前线程持有对某个对象的锁,则即使调用sleep方法,其他线程也无法访问这个对象.sleep()可以使低优先级的线程得到执行的机会,当然也可以让同优先级.高优先级的线程有执行的机会. 2.yield yield方法也属于Thread类,它跟sleep方法类似,同样不会释…
下面是我自己画的,关系画得没上面好,但我自己看着清楚些 还有一张下载来的:   有序否 允许元素重复否 Collection 否 是 List 是 是 Set AbstractSet 否 否 HashSet TreeSet 是(用二叉树排序) Map AbstractMap 否 使用key-value来映射和存储数据,Key必须惟一,value可以重复 HashMap TreeMap 是(用二叉树排序) 几个面试常见问题:1.Q:ArrayList和Vector有什么区别?HashMap和Has…
1.字符串的长度 String str = new String(" abcd"); int length = str.length(); 2.数组的长度.排序 2.1对于 a[][]  a.length代表a的行数      a[i].length代表a的列数 2.2对于a[]       a.length代表a的长度 2.3数组排序 Arrays.sort(a) Arrays.sort(a,Collections.reverseOrder()) //倒序 3.数组的拷贝 int […
(一)数组的创建 数组的创建包括两部分:数组的申明与分配内存空间. int score[]=null; //申明一维数组 score=new int[3]; //分配长度为3的空间 数组的申明还有另外一种方式: int[] score=null; //把中括号写在数组名前面 通常,在写代码时,为了方便,我们将两行合并为一行: int score[]=new int score[3]; //将数组申明与分配内存写在一行 (二)传递参数 在Java中,数组是按照地址引用的方式来传参的,即我们传递的是…
在说多线程之前,首先要清楚为啥要提出多线程,这就要明白线程和进程间的区别了. 线程和进程间的区别 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源. 一个线程可以创建和撤销另一个线程,同一个进程中…
异常大体分为编译异常和运行异常两类,如果用软件开发(如Eclipse)编译异常在写代码时得到提醒, 而运行异常需要在运行时才能得到提示. 算术异常类:ArithmeticExecption 这个异常是在算数运算时经常遇到的,常见的情况是除数为0时抛出的异常. 空指针异常类:NullPointerException 这个异常是针对调用未经初始化或未定义的对象抛出的异常. 类型强制转换异常:ClassCastException 数据类型转换错误,比如有个 String temp="abc"…
简述 Java是支持多线程编程的语言,线程相比于进程更加轻量级,线程共享相同的内存空间,但是拥有独立的栈.减少了进程建立.销毁的资源消耗.jdk1.5后对java的多线程编程提供了更完善的支持,使得java的多线程编程更加方便简洁.本文旨在通过对Java多线程知识的梳理,整理出一个大纲,使得读者对多线程的编程有更加完善的认识. 线程生命周期的管理 线程的创建 java中线程的创建主要有两种方式: 继承Thread类(Thread中方法主要用于针对线程本身的处理): 实现Runnable接口: 线…
如何定义一个枚举类? //定义了4个等级 enum Level{ A,B,C,D } 枚举类的实质: class Level{ public static final Level A = new Level(); public static final Level B = new Level(); public static final Level C = new Level(); public static final Level D = new Level(); } 枚举类可以定义构造方法,…
2016.03.27下午参加华为机试,简单扫了一眼几个题的标题,选择了一道字符串问题,其实该题非常非常的简单,可以说是简单的不能再简单了,而且有很多种解法,上机时我选择了直接借用java提供的一些函数,以为自己能很快解决问题,结果却卡了很久,机子上测试时一直没能通过 晚上回到寝室,改了一下前面的代码,解题方法没变,经测试应该是正确的 具体题目记不大清楚了,题目大意是:输入一字符串,若该字符串中间包含"*",去掉"*"后输出:若该字符串首字符或尾字符为"*&…
java集合类分为collection 和 map两类Collection List ArrayList LibnkedList Vector Set HashSet TreeSet LinkedHashSet Queue PriorityQueue Map HashMap HashTable TreeMap 特点: List.Set.Map都将所有对象视为Object对象 Collectio.List.Set.Map都是接口,不能实例化 关于Collections Collections是集合…
一.charAt 与 codePonitAt 我们知道 Java 内部使用的是 utf-16 作为它的 char.String 的字符编码方式,这里我们叫它内部字符集.而 utf-16 是变长编码,一个字符的编码被称为一个 code point,它可能是 16 位 -- 一个 code unit,也可能是 32 位 -- 两个 code unit. 作为一个输入法爱好者,我偶尔会编程处理一些生僻字.其中有些生僻字大概是后来才加入 unicode 字符集里的,直接用 charAt 方法读取它们,会…
1eclipse打包:点击项目export,然后点击java->JAR file->next->选择目录->finish->报错也不管 2idea直接运行jar包就好了,产生的jar包的位置会显示在控制台上面 优劣对比: 1程序编译报错,idea不能打包.eclipse可以打包 2所以说自己常用的包也可以达成jar包直接引用!!! jar与war区别 jar包:对于学习java的人来说应该并不陌生.我们也经常使用也一些jar包.其实jar包就是java的类进行编译生成的cla…
(35)对资源的close()建议分开操作虽然有些麻烦,却能避免资源泄露.我们想,如果没有修改过的代码,万一XXX.close()抛异常了,那么就进入了catch块中了,YYY.close()不会执行,YYY这块资源就不会回收了,一直占用着,这样的代码一多,是可能引起资源句柄泄露的.而改为下面的写法之后,就保证了无论如何XXX和YYY都会被close掉. (36)对于ThreadLocal使用前或者使用后一定要先remove当前基本所有的项目都使用了线程池技术,这非常好,可以动态配置线程数.可以…
(21)将常量声明为static final,并以大写命名 这样在编译期间就可以把这些内容放入常量池中,避免运行期间计算生成常量的值.另外,将常量的名字以大写命名也可以方便区分出常量与变量 (22)不要创建一些不使用的对象,不要导入一些不使用的类 这毫无意义,如果代码中出现”The value of the local variable i is not used”.”The import java.util is never used”,那么请删除这些无用的内容 (23)程序运行过程中避免使用…
(1)尽量指定类.方法的final修饰符 带有final修饰符的类是不可派生的.在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的.为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写.如果指定了一个类为final,则该类所有的方法都是final的.Java编译器会寻找机会内联所有的final方法,内联对于提升Java运行效率作用重大,具体参见Java运行期优化.此举能够使性能平均提高50%.…
无论使用哪一种编程语言,输入输出都是我们首当其冲的,因此简单整理了 一下关于Java输入输出知识点,还有些内容摘自其它博客,忘见谅. 第一部分,让我们看一下Java的输出 public class Main{ public static void main(String[] args){ System.out.println("hello_!"); System.out.print("My name is, "); System.out.print("Su…
1.什么是泛型? 泛型(Generics )是把类型参数化,运用于类.接口.方法中,可以通过执行泛型类型调用 分配一个类型,将用分配的具体类型替换泛型类型.然后,所分配的类型将用于限制容器内使用的值,这样就无需进行类型转换,还可以在编译时提供更强的类型检查. 2.泛型有什么用? 泛型主要有两个好处: (1)消除显示的强制类型转换,提高代码复用 (2)提供更强的类型检查,避免运行时的ClassCastException 3.泛型的使用 类型参数(又称类型变量)用作占位符,指示在运行时为类分配类型.…
JavaSE基础 本文为作者在学习和笔试题中遇到的小知识点总结,做以总结和备用. jdk的安装和配置环境变量 (1)以win10为例,右键此电脑,选择属性,进去系统设置,选择高级系统设置,进入环境变量的配置. (2)在系统变量中点击新建,变量名为JAVA_HOME,变量值为jdk的安装路径,单击保存. (3)在系统变量中找到Path,双击打开,单击新建,输入jdk安装路径\bin,单击确定,保存后退出. (4)在命令提示符窗口中输入java,javac,若出现如下信息则配置成功. Java跨平台…
java程序设计的原则 1 清晰性和原则性最为重要:模块:任何可重用的软件组件,从单个方法到复杂系统都可以是一个模块.代码应该被重用而不是被拷贝.模块之间的依赖性应该降到最小:错误应尽早检查出来,最好在编译期. 2 消除过期的对象引用, 2.1 比如栈中存储对象如果不及时清除对象引用,有可能会造成内存泄漏. 常见的解决办法有 一旦对象不再使用,及时清空这些引用即可 大多数情况下,不必使用上述方法.因为这样做没有必要.消除过期引用的最好方法就是让包含该引用的变量结束其生命周期.所以合适的变量作用域…
1 集合的框架体系 List简介 集合的使用场合 List(链表|线性表)和Set(集) java.util.Collection ---| Collection 描述所有接口的共性 ----| List接口 可以有重复元素的集合 ----| Set 接口 不可以有重复元素的集合 List的方法: 增加: 1:add() 将指定对象存储到容器中 add 方法的参数类型是Object 便于接收任意对象 2:addAll() 将指定集合中的元素添加到调用该方法和集合中 删除: 3:remove()…
本来想着写一篇总结Java泛型的文章,但是却发现了一篇不错的博文,引用自: http://www.cnblogs.com/lwbqqyumidi/p/3837629.html#undefined 现摘录如下,以便日后查阅. 一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: public class GenericTest { public static void main(String[] args) { List list = new ArrayList(); li…