Java
文章平均质量分 76
suwu150
业精于勤,荒于嬉;行成于思,毁于随;磨刀不误砍柴工。
展开
-
使用jarsigner进行apk签名
签名签名是对要发布的apk文件作标记,确保你的apk文件有唯一的身份归属认证,只有相同签名和相同包名的文件才可以覆盖安装并保留用户信息。签名apkjarsigner也存在于Java JDK的安装包当中,所以安装好了Java环境的话,可以直接在命令行使用。重新签名命令jarsigner -verbose -keystore abc.keystore -signedjar com.tence...原创 2019-01-15 17:33:46 · 2759 阅读 · 0 评论 -
Java中String的使用
Java语言中,String一直很基础,但很多人都很多概念还是很模糊。1. 如何对字符串进行比较?用“==” 还是equals()?简单来说,如果引用是否相同那么使用==, 判断值是否相等则用equals()。除非你想判断2个字符串是否是同一对象,否则你都应该使用equals()。2. 为什么在安全敏感信息场合应该用char[]而不是string?String具有不可变的特性,当字符串一旦被创建,那么直到垃圾收集器处理之前他们都是不可变的。如果使用数组,那么你可以明确地改变其内部单元数据。因此,安全转载 2016-09-12 00:36:11 · 437 阅读 · 0 评论 -
5种字符串拼接方法效率的测试
在实际使用中我们经常要用到字符串的拼接,但是拼接时我们又需要考虑什么样的拼接方式才是最有效率的,下面我们进行验证一下:代码如下,分别设置相同的变量进行连接,使用数字作为连接的介质,让连接的次数和内容相同,用+的方式效率最差,concat由于是内部机制实现,比+的方式好了不少。Join和StringBuffer居中,StringBuffered方法较差StringBuffer sb=new StringBuffer(); sb.append(""); long ts=Syste原创 2016-08-31 23:26:46 · 2344 阅读 · 0 评论 -
遍历List的三种方法
遍历一个List有哪些不同的方式?如下代码,分别为三种方法 //遍历方式1---while(it.hasNext()) System.out.println("遍历方式1--while(it.hasNext())"); Iterator<Integer> it=list.iterator(); while(it.hasNext()) System.out.println(storeEnd2-storeStart2); //遍历方式2--get(i) Syst原创 2016-09-06 22:43:11 · 6704 阅读 · 0 评论 -
String与StringBuffer的区别
String与StringBuffer的区别简单地说,就是一个变量和常量的关系。StringBuffer对象的内容可以修改;而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象。StringBuffer的内部实现方式和String不同,StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。String:在String类中没有用来改变转载 2016-09-05 23:17:55 · 384 阅读 · 0 评论 -
Java中三种输入的比较
Java程序中,我们经常要用到数据的输入与取出操作, 下面我们就进行对 输入数据方法的比较,区分使用System.in,Scanner和BufferedReader的程序,对各个方法进行输入数据和输出数据演示一、使用标准输入串System.in //System.in.read()一次只读入一个字节数据,而我们通常要取得一个字符串或一组数字 //System.in.read...原创 2016-04-19 12:59:30 · 3938 阅读 · 0 评论 -
Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.lan
Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer at java.lang.Integer.compareTo(Integer.java:52) at java.util.TreeMap.put(TreeMap.java:568) at java.util.TreeSet.add(TreeSet.java:255)原创 2016-08-14 08:07:05 · 18118 阅读 · 0 评论 -
访问控制权限详解
访问控制权限面向对象的基本思想之一是封装 实现细节 并且公开方法。Java语言采用访问控制修饰符来控制类及类的方法和变量的访问权限,从而只向使用者暴露方法,但隐藏实现细节。访问控制分4种级别。访问级别 访问控制修饰符同类同包子类 不同的包公开级别public 受保护 protected 默认 没有访问控制 私有 private成员变量、成员方法和构造方法(构造器)可以处于4个访问级别中的一个 顶层类只可以处于公开或默认访问级别;注意:p原创 2016-08-09 21:31:50 · 1770 阅读 · 0 评论 -
abstract修饰符和接口
一. abstract修饰符 可用来修饰类和成员方法。 . 用abstract修饰的类表示抽象类,抽象类不能实例化,即不允许创建抽象类本身的实例。没有用abstract修饰的类称为具体类,具体类可以被实例化。 . 用abstract修饰的方法表示抽象方法,抽象方法没有方法体。抽象方法用来描述系统具有什么功能,但不提供具体的实现。 没有abstract修饰的方法称为具体方法,具体方法具有方法体。原创 2016-08-12 22:34:03 · 4422 阅读 · 0 评论 -
Java中字符串两种等于的方法的对比
Java中,我们要经常进行条件的判断,但是对于两种判断方式“==”和“equals()”,又不是很清楚具体的使用方法 1、 其中::: “==”:是用来比较字符串的引用地址,也就是说从地址上面进行比较 “equals()”:即 equals(Object o): Object类中的方法,所以,在...原创 2016-04-16 21:33:26 · 1532 阅读 · 0 评论 -
数组的拷贝
数组的拷贝: 数组的长度一旦确定之后便不能调整,我们可以通过复制数组的内容变通实现改变数组长度。在System类中提供一个辅助的arraycopy方法提供复制数组内容的功能: public static void arraycopy(Object src, int srcPos, Object dest,原创 2016-09-04 00:58:53 · 583 阅读 · 0 评论 -
interface和abstract的区别
我们都知道,java是面向对象的一门编程语言,面向对象的3大特点是封装、继承、多态,继承和多态要基于抽象类和接口实现。在java中,类的层级关系是这样的,类—抽象类—接口,接口处在最顶层,意味着什么?接口是规范,定义基本的,必须的功能模块,然后子类具体的去实现并拓展新的功能。这也是为什么接口中的方法必须是抽象方法,成员必须是公开静态的。 Interface关键字使抽象的概念更向前迈了一步。 Interface这个关键字产生一个完全抽象的类,它没有提供任何具体的实现。它允原创 2016-09-12 01:10:42 · 401 阅读 · 0 评论 -
Java训练面试题
考虑数据的安全性,要求每个教师只能存取自己讲授的课程的学生成绩,应该创建() A、视图 B、索引C、游标D、表2、关于类型定义Number(9,2)说法正确的有()、整数部分9位,小数部分2位,共11位B、整数部分7位,小数部分2位,共9位2.数据库中有Student表,以下为建表语句。请将学生A的信息保存入数据库中,要求使用JDBC技术,采用两种方式(Statement,PreparedStatement)将此记录插入表中。学生A信息为:学号:001;姓名:张三;生日:2012年1月12号。c转载 2016-10-11 01:32:29 · 2688 阅读 · 0 评论 -
Linux开发环境配置
1. 环境变量配置nodejs安装 git安装 Java和maven的安装都是通过解压缩的方式进行安装即可##环境变量PATH="$HOME/bin:$HOME/.local/bin:$PATH"#引入基础环境PATH#set java environment variable#/home/suwu150/software/jdk1.7.0_79为jdk路径JAVA_HOME=/hom原创 2017-12-02 22:22:16 · 390 阅读 · 0 评论 -
Java和Js中首字母大写的方法
一 Java中首字母大写的方法 Java string,需要进行首字母大写改写,网上大家的思路基本一致,就是将首字母截取,转化成大写然后再串上后面的,类似如下代码//首字母大写public static String captureName(String name) { name = name.substring(0, 1).toUpperCase() + na...原创 2017-07-26 12:00:39 · 4424 阅读 · 0 评论 -
正则表达式介绍与使用
正则表达式:一、概述正则表达式:符合一定规则的表达式。 作用:用于专门操作字符串。 特点:用于一些特定的符号来表示一些代码操作。这样就简化书写。所以学习正则表达式,就是在学习一些特殊符号的使用。 好处:可以简化对字符串的复杂操作。 弊端:符号定义越多,正则越长,阅读性越差。 具体操作功能:1、匹配:String matches方法。用规则匹配整个字符串,只要有一处不符合规则,就匹配结束,返回false。2、切割:String split(); 3、替换:String replac原创 2016-08-21 14:15:48 · 4342 阅读 · 0 评论 -
如何将java.util.date转化为文本格式
如何将java.util.date转化为文本形式,如下面代码,能够将数据格式进行转化 java.util.Date date = new java.util.Date(); java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd", java.util.Locale.CHIN原创 2017-05-31 23:27:31 · 2256 阅读 · 0 评论 -
Java删除ArrayList中的重复元素的2种方法
Java删除ArrayList中的重复元素的2种方法ArrayList是Java中最常用的集合类型之一。它允许灵活添加多个null元素,重复的元素,并保持元素的插入顺序。在编码时我们经常会遇到那种必须从已建成的ArrayList中删除重复元素的要求。方法1:使用HashSet删除ArrayList中重复的元素在该方法中,我们使用HashSet来删除重复的元素。如你所知,Ha原创 2016-12-11 23:58:18 · 1304 阅读 · 0 评论 -
JAVA中Stack和Heap的区别
1.Java中对象都是分配在heap(堆)中。从heap中分配内存所消耗的时间远远大于从stack产生存储空间所需的时间。 (1)每个应用程序运行时,都有属于自己的一段内存空间,用于存放临时变量、参数传递、函数调用时的PC值的保存。这叫stack。(2)所有的应用可以从一个系统共用的空间中申请供自己使用的内存,这个共用的空间叫heap。 (3)stack中的对象或变量只要定义好转载 2016-11-01 00:32:16 · 462 阅读 · 0 评论 -
List,Set和Map的介绍和使用
一. 集合 数组的长度是固定的,单位的客户是变化的,有老的客户流失,也有新的客户签单为了使程序能方便地存储和操纵数目不固定的一组数据,JDK类库提供了Java集合,所有Java集合类都位于java.util包中与Java数组不同,Java集合中不能存放基本类型数据,而只能存放对象的引用。通常把“集合中的对象的引用”简称为“集合中的对象“Java中集合主要分为三种类型: . Set . HashSet: 按照哈希算法来存取集合中的对象,存取速度比较快LinkedHashSet: HashSet子类,不仅实现原创 2016-08-13 12:22:13 · 1263 阅读 · 0 评论 -
final,finalize,finally 的区别
final finalize finally 的区别一、性质不同(1)final为关键字;(2)finalize()为方法;(3)finally为为区块标志,用于try语句中;二、作用(1)final为用于标识常量的关键字,final标识的关键字存储在常量池中(在这里final常量的具体用法将在下面进行介绍);(2)finalize()方法在Object中进行了定 (3)finally{}用于标识代码块,与try{}进行配合,不论try中的代码执行完或没有执行完(这里指有异常),该代码块之中的程原创 2016-08-20 01:54:28 · 1050 阅读 · 0 评论 -
main方法的各种书写样式
1、main()方法是Java应用程序的入口点,每个Java应用程序都是从main()方法开始运行的。今天在考试中,遇到了main方法的书写方式判断,赶脚没用,但还是实际测试了一测。返回值类型是方法的返回数据的类型,如果返回值类型为void,表示没有返回值。但是在学习到后期,我们可以发现main方法有很多等同意义的写法。参数列表可包含零个或多个参数,参数之间以逗号","分开。方法体中使用return语句返回数据或结束本方法的执行;包含main方法的类又叫主程序类。以上就是众多的main方法。原创 2016-08-23 22:06:54 · 9474 阅读 · 0 评论 -
理解Java只用8张图
转载自: 理解Java只用8张图1、字符串不变性下面这张图展示了这段代码做了什么String s = "abcd"; s = s.concat("ef");2、equals()方法、hashCode()方法的区别HashCode被设计用来提高性能。equals()方法与hashCode()方法的区别在于:1.如果两个对象相等(equal),那么他们一定有相同的哈希值。2.如果两个对象的哈希值相同,但他们未必相等(equal)。3、Java异常类的层次结构图中红色部分为受检查异转载 2016-10-01 00:02:49 · 597 阅读 · 0 评论 -
Java中Collection和Collections的区别
Java中Collection和Collections的区别 1、java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。 Collection ├List │├LinkedList │├ArrayList │└Vector原创 2016-10-01 00:30:08 · 9439 阅读 · 0 评论 -
Java中定义类,对象,函数,变量的方法
类的名字必须由大写字母开头而单词中的其他字母均为小写; 如果类名称由多个单词组成,则每个单词的首字母均应为大写例如TestPage; 如果类名称中包含单词缩写,则这个所写词的每个字母均应大写,在命名类时应尽量选择名词。原创 2016-04-23 18:13:16 · 3634 阅读 · 0 评论 -
Map的取值方式介绍
values():方法是获取集合中的所有的值----没有键,没有对应关系, KeySet():将Map中所有的键存入到set集合中。因为set具备迭代器iterator()方法。所有可以使用迭代方式取出所有的键,接着根据get(key)方法。获取每一个键对应的值。 keySet():迭代后只能通过get(key)取值 entrySet():Set<Map.Entry<K,V>> entrySet() //返回此映射中包含的映射关系的 Set 视图。 Map.Entry表原创 2016-08-20 11:39:30 · 11579 阅读 · 0 评论 -
Java中的数组的介绍与使用
目标: 1. 数组的创建和使用定义: 数组是指一组数据的集合,数组中的每个数据称为元素。在Java中,数组也是Java对象。数组中的元素可以是任意类型(包括基本类型和引用类型),但同一个数组里只能存放类型相同的元素。创建数组大致包括如下步骤: . 声明一个数组类型的引用变量,简称为数组变量; . 用new语句构造数组的实例。new语句为数组分配内存,并且为数组中的每个元素赋予默认值; . 初始化,即为数组的每个元素设置合适的初始值。一. 数组变量的声明;原创 2016-08-06 08:59:31 · 12648 阅读 · 3 评论 -
Java中的流程控制
1. 条件语句 有些程序代码只有满足特定条件的情况下才会被执行,Java语言支持两种条件处理语句:if语句和switch语句 1) if ... else 布尔表达式指的是能返回true或者false的运算式子: 1<2 1==1 1!=2 a. if后面的表达式必须是布尔表达式,而不能为数字类型,例如下面的if(x)是非法的。 int x=0; //编译出错 if(x) { //非法语句原创 2016-08-02 21:54:18 · 705 阅读 · 0 评论 -
Java中类型的转换
java中类型的转换分为显式转换和隐式转换 隐式转换:自动转换 基本类型:精度小可以自动转换为精度大的 byte b = 1; int a = b; 引用类型:子类类类型可以自动转换为父类类型 Student s = new Student(); Object o = s; 显式转换:强制类型转换 基本类型:精度大的可以强制类型转换为精度小的,但是可能损失精度 int a = 1; byte b = (byte)a; 引用类型:父类类原创 2016-08-01 21:50:42 · 414 阅读 · 0 评论 -
Java中操作符使用的简单介绍
操作符Operator 一般情况下,不用去刻意记住操作符的优先级,当不能确定操作符的执行顺序时,可以使用圆括号来显示指定运算顺序。 1) 赋值操作符: = //int x=0,i=1,j=1; *= //a*=b 等价于 a=a*b /= // a/=b 等价于 a=a/b; %= //a%=b 等价于 a=a%b; += //a+=b 等价于 a=a+b; -= // a-=b 等价于原创 2016-08-01 21:42:09 · 1663 阅读 · 0 评论 -
Java中变量的使用
1.java中变量的介绍 程序的基本功能是处理数据 程序用变量来接收并表示数据; 程序中必须先定义变量才能使用; 定义变量是指设定变量的数据类型和变量的名字,Java语言要求变量遵循先定义->再初始化->然后使用的规则。 变量的使用有一个作用域的问题,作用域是指它的存在范围,只有在这个范围内,程序代码才能访问它。 其次,作用域决定了变量的生命周期。变量的生命周期是指从一个变量被创建并分配内存空间开始,到这个变量被销毁并清除其所占用内存空间的过程。当一个变量被定义时,它的作用域就被原创 2016-08-01 21:25:34 · 1226 阅读 · 0 评论 -
7个改变世界的Java项目
原文转载自以下链接,请直接点击查看:http://mp.weixin.qq.com/s?__biz=MzA4ODIwMDUyNw==&mid=2652988005&idx=2&sn=ff87a20a530c2da21cfe32fa9e04386e&scene=23&srcid=0614D8PluXfJJwOoIGqyixzS#rd#userconsent#Java的开源生态系统是强大而健康的,这是我们(Oreilly)创建OSCON Java(Open Source Convention Java)的主转载 2016-06-15 09:52:54 · 551 阅读 · 0 评论 -
Java中异常的处理
说到这里大家应该都对异常有个简单的了解了,下面我们来看下异常的概念1. 异常出现之后,如果没有合理的处理的话,则会让整个程序中断执行。2. 使用try...catch和try...catch...finally可以处理异常,finally将作为异常的统一出口,不管是否有此异常都会执行此语句。3. 一个异常处理中可以同时出现多个catch,但是捕获更粗的异常要放在更细的异常之后,否则程序编译时将出现错误。4. 在异常中最大的类是Throwable,分为两个子类:Exception、Error。5.原创 2016-05-04 07:07:38 · 1066 阅读 · 0 评论 -
Java输入输出流
七. Reader and Writer概述InputStream和OutputStream类处理的是字节流,也就是说,数据流中的最小单元为一个字节,它包括8个二进制位。在许多应用场合,Java应用程序需要读写文本文件。在文本文件中存放了采用特定字符编码的字符。为了便于读于各种字符编码的字符,java.io包中提供了Reader/Writer类,它们分别表示字符输入流和字符输出流。 在处理字符流时,最主要的问题是进行字符编码的转换。Java语言采用Unicode字符编码。对于每一个字符,Java虚拟机会为其原创 2016-08-24 21:07:17 · 864 阅读 · 0 评论 -
Java中IO输入输出流介绍
八、字节数组流 ByteArrayInputStream 包含一个内部缓冲区,该缓冲区包含从流中读取的字节。内部计数器跟踪 read 方法要提供的下一个字节。 关闭 ByteArrayInputStream 无效。此类中的方法在关闭此流后仍可被调用,而不会产生任何 IOException。 ByteArrayOutputStream 此类实现了一个输出流,其中的数据被写入一个 byte 数组。缓冲区会随着数据的不断写入而自动增长。可使用 toByteArray() 和 toString()原创 2016-05-21 22:35:28 · 924 阅读 · 0 评论 -
线程(Thread)及多线程介绍
Threads一. 什么是线程: 进程是指运行中的应用程序,每一个进程都有自己独立的内存空间。一个应用程序可以同时启动多个进程。例如每打开一个 IE浏览器窗口,就启动了一个新的进程。线程与进程的主要区别在于:每个进程都需要操作系统为其分配独立的内存地址空间,而同一进程中的所有线程在同一块地 址空间中工作,这些线程可以共享同一块内存和系统资源。比如共享一个对象或者共享已经打开的一个文件 在java虚拟机进程中,执行程序代码的任务是由线程来完成的。每当用java命令启动一个Java虚拟机进程时原创 2016-08-22 21:50:16 · 878 阅读 · 0 评论 -
断言的介绍(assert)
断言 假设要进行如下的计算: double y = Math.sqrt(x); 为了让程序健壮,你会先进行测试检查并抛出异常而不让x的值为负数。 if(x<0) throw new IllealArgumentException("x < 0"); 但是,就算是测试结束了,以后实际运行时x的值不会小于0。这种测试代码会一直保留在你的程序中。如果程序中有太多的检查,程序的运行就会慢好多原创 2016-08-21 22:42:37 · 2286 阅读 · 0 评论 -
Java中的对象和类
一. OOP中的基本概念 Java的编程语言是面向对象的,采用这种语言进行编程称为面向对象编程(Object-Oriented Programming, OOP), 它允许设计者将面向对象设计实现为一个可运行的系统。Java的编程单位是类,对象最后要通过类进行实例化(即“创建”)。 面向对象编程有三个特性: . 封装:java是以类为基础的,所有的属性和方法都是封装在类中的,不像C++在类外还可以定义函数。 . 多态:表面看是多种状态的意思。 . 继承:不容置疑,从父原创 2016-08-06 12:45:15 · 1135 阅读 · 0 评论 -
retrun语句在try(){}catch(){}中的作用
放在在底层中的结果,首先,我们实现正常的函数,代码如下所示:结果1.1放在try块中预测:出错,分支中也需要一个return1.2放在catch语句块中1.3放到Finally中编译没有报错,运行时报出异常,没有执行catch块,执行Finally块,输出最后返回结果01.4放置到try(){}catch(){}finally{}语句块后面,我们能够看到报出异常,输出infinally,返回值02.1放置到try和catch2.2放置到try和finally2.3放置到try和最底层2.4放置在catch原创 2016-08-18 22:25:45 · 4083 阅读 · 0 评论 -
Java中GUI的事件处理
事件处理 GUI布局介绍一. JFC预览 JFC主要是由AWTAbstract Window Toolkit(AWT)、Swing以及Java 2D三者所构成,若将这些一同搭配运用,则用Java程序语言撰写开发成的使用者介面,无论移转、转移到Microsoft WindowsWindows、Mac OS X或Linux等各种不同的作业平台上,都能保有一致性的图像呈现。 前面我们介绍了用AWT创建图形用户界面的基本原理。图形用户界面由各种组件构成,普通组件被添加到容器类组件中, 布局原创 2016-08-22 21:41:58 · 3500 阅读 · 0 评论