★JavaSE基础★
文章平均质量分 86
Seachal
记录学习Java、Kotlin 、Android、 Dart 、Flutter、 算法 、数据结构、 设计模式,持续更新,欢迎留言、关注
展开
-
Java中有关Null的9件事
对于Java程序员来说,null是令人头痛的东西。时常会受到空指针异常(NPE)的骚扰。连Java的发明者都承认这是他的一项巨大失误。Java为什么要保留null呢?null出现有一段时间了,并且我认为Java发明者知道null与它解决的问题相比带来了更多的麻烦,但是null仍然陪伴着Java。我越发感到惊奇,因为java的设计原理是为了简化事情,那就是为什么没有浪费时间在指针、操作符重载转载 2017-10-23 14:49:36 · 814 阅读 · 1 评论 -
java中自动生成编码
Java生成规律编码的思路/*** * * getCommonBh:(获得通用的编号:前缀(一般是单位的前N位+当前时间(自定义格式)+格式化的sequence值:00001)). * @param prefix 编号的前缀 * @param timeFormt 日期格式,在需求添加日期时候使用 * @param sequenceName sequence名称 *原创 2017-02-24 15:54:24 · 10964 阅读 · 2 评论 -
static特别用法【静态导包】——Java包的静态导入
面试我问你static关键字有哪些作用,如果你答出static修饰变量、修饰方法我会认为你合格,答出静态块,我会认为你不错,答出静态内部类我会认为你很好,答出静态导包我会对你很满意,因为能看出你非常热衷研究技术。于是乎查找资料如下: 静态导包就是Java包的静态导入,用import static代替import静态导入包是JDK1.5中的新特性。一般我们导入原创 2017-02-23 15:19:44 · 2978 阅读 · 1 评论 -
parameter与argument,property与attribute,这些翻译意思相近的词的区别
由于中文翻译的原因,我们在很多情况下将parameter与argument,Attribute与Property混为一谈,或者说不是很清楚它们的区别。其实它们的真实含义与具体功能还是差别比较大的:parameter:参数(形参)argument:参数(实参)property:性质attribute:属性原创 2017-03-02 11:03:42 · 3801 阅读 · 1 评论 -
java中如何理解多个对象共享同一个静态成员变量(多个实例的static变量会共享同一块内存区域)
最近读《研磨设计模式》对这段话不太理解:Java 中 static的特性: static 变量在类装载的时候进行初始化。 多个实例的 static变量会共享同一块内存区域。 做了个例子验证一下例子:class A { static int num = 1; private String name; public String getName(St原创 2016-10-10 22:52:42 · 21433 阅读 · 1 评论 -
for (int i = 0, size = c.size(); i < size; i++)
近几天,看老大的框架,里面出现这样的语句for (int i = 0, size = c.size(); i package com.wang.test;import java.util.ArrayList;import java.util.Arrays;import java.util.Iterator;import java.util.List;import j转载 2016-09-06 21:30:20 · 7167 阅读 · 1 评论 -
Java总结篇系列:Java泛型
一. 泛型概念的提出(为什么需要泛型)?首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(String[] args) { 4 List list = new ArrayList(); 5 list.add("qqyumidi")转载 2016-07-02 21:57:46 · 632 阅读 · 0 评论 -
Java关键字 this (this.实例成员;this()),以及Android中内部类中的中的this(*.this,ClassName.this)
关键字this用于指代当前的对象。因此,类内部可以使用this作为前缀引用实例成员;this()代表了调用另一个构造函数,至于调用哪个构造函数根据参数表确定。this()调用只能出现在构造函数的第一行。 当在内部类中使用关键字this,指的就是内部类的对象, 为了访问外层类对象,就可以使用外层类名.this来访问,一般也只在这种情况下使用这种 示例代码:原创 2016-05-05 22:56:45 · 3803 阅读 · 0 评论 -
java 字符串截取的几种方式
转载自:http://blog.csdn.net/qq_27603235/article/details/51604584 侵删众所周知,Java提供了很多字符串截取的方式。下面就来看看大致有几种。1.split()+正则表达式来进行截取。 将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。String转载 2017-05-05 16:07:10 · 1169 阅读 · 0 评论 -
Java中@SuppressWarnings的使用
一、@SuppressWarnings("serial")是什么意思? 比如有个类实现了java.io.Serialize接口:package com.onede4.test;public class TestSerial implementsjava.io.Serializable {} 如果代码仅仅写上这样,放在eclipse里会给你提示一个黄色的警告,为啥呢原创 2017-05-17 13:35:32 · 2448 阅读 · 0 评论 -
实现List集合中数据逆序排列
对Java 集合list 进行反转[java] view plain copyCollections.reverse(list); 实现list集合逆序排列 当然还有复制方法[java] view plain copyList list1 = Collect原创 2017-11-08 10:37:25 · 4248 阅读 · 0 评论 -
定义日期或日期和时间格式
来源:https://www.ibm.com/support/knowledgecenter/zh/SSHEB3_3.3.2/com.ibm.tap.doc_3.3.2/loc_topics/c_custom_date_formats.html定制日期格式您可以通过 IBM® TRIRIGA® Application Platform 随附的产品定义不同的日期格式或日期时间转载 2017-09-28 16:11:46 · 13553 阅读 · 2 评论 -
Java io FileDescriptor介绍及使用
FileDescriptor 介绍FileDescriptor 是“文件描述符”。FileDescriptor 可以被用来表示开放文件、开放套接字等。以FileDescriptor表示文件来说:当FileDescriptor表示某文件时,我们可以通俗的将FileDescriptor看成是该文件。但是,我们不能直接通过FileDescriptor对该文件进行操作;若需要通过FileDes转载 2016-06-08 23:43:28 · 8973 阅读 · 0 评论 -
Java日期计算之Joda-Time
转载自:http://rensanning.iteye.com/blog/1546652 侵删Joda-Time提供了一组Java类包用于处理包括ISO8601标准在内的date和time。可以利用它把JDK Date和Calendar类完全替换掉,而且仍然能够提供很好的集成。http://joda-time.sourceforge.net/版本:joda-time-2.1转载 2017-07-28 13:38:49 · 797 阅读 · 0 评论 -
为什么方法中的内部类只能访问final修饰的局部变量
今天在做一个Android的强制用户下线功能遇到一点小问题variable 'intent' is accessed from within inner class, needs to be declared final在内部类中访问变量“intent”,需要声明为常量第一种情况public class BaseActivity extends AppCompatA原创 2017-06-13 21:55:22 · 1398 阅读 · 0 评论 -
关于Java空指针异常的几种情况的总结(java.lang.NullPointerException)
在外文网站上看到的:1. Calling the instance method of a null object. 2. Accessing or modifying the field of a null object. 3. Taking the length of null as if it were an array. 4. Accessing or modifying原创 2017-06-12 17:45:08 · 67487 阅读 · 4 评论 -
一个经典例子让你彻彻底底理解java回调机制
转载自:http://blog.csdn.net/xiaanming/article/details/8703708/ 侵删以前不理解什么叫回调,天天听人家说加一个回调方法啥的,心里想我草,什么叫回调方法啊?然后自己就在网上找啊找啊找,找了很多也不是很明白,现在知道了,所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法,这样子说你是转载 2017-06-18 22:05:11 · 784 阅读 · 0 评论 -
java中map里面的key按我们插入进去的顺序输出
TreeMap的顺序是自然顺序(如整数从小到大),也可以指定比较函数。但不是插入的顺序。 用LinkedHashMap吧。它内部有一个链表,保持插入的顺序。迭代的时候,也是按照插入顺序迭代,而且迭代比HashMap快。原创 2017-05-17 16:48:45 · 16766 阅读 · 1 评论 -
JUnit单元测试--JUnit简介
JUnit单元测试--JUnit简介1、JUnit简介JUnit是一个开发源代码的Java测试框架,用于编写和运行可重复的测试。它是用于单元测试框架体系xUnit的一个实例(用于java语言)。主要用于白盒测试,回归测试。1.1、JUnit的好处和JUnit测试编写原则1.1.1 使用JUnit的好处:可以使测试代码与产品代码分开。针对某一个类的测试代码通过较少的改动便原创 2016-05-23 19:50:34 · 2042 阅读 · 0 评论 -
java中interrupt、join、sleep、notify、notifyAll、wait详解
首先介绍一下中断概念:举个例子容易理解一点例子:假如你正在给朋友写信,电话铃响了。这时,你放下手中的笔,去接电话。通话完毕,再继续写信。这个例子就表现了中断及其处理过程:电话铃声使你暂时中止当前的工作,而去处理更为急需处理的事情(接电话),把急需处理的事情处理完毕之后,再回头来继续原来的事情。在这个例子中,电话铃声称为“中断请求”,你暂停写信去接电话叫作“中断响应”,接电话的过程就是“中断处理转载 2016-06-11 10:06:45 · 1113 阅读 · 0 评论 -
Class.forName()用法及与new区别 详解
平时开发中我们经常会发现:用到Class.forName()方法。为什么要用呢? 下面分析一下: 主要功能Class.forName(xxx.xx.xx)返回的是一个类Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段在初始化一个类,生成一个实例的时候,newInstance()方法和new关键字除了一个是方法,一个是原创 2016-04-09 14:59:03 · 2349 阅读 · 0 评论 -
Class.forName()的作用与使用总结
目录(?)[+]1、Class类简介: Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识。这项信息纪录了每个对象所属的类。虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类。Class类封装一个对象和接口运行时的状态,当装载类时,Class类型的对象自动创建。 Class 没有公共构造方法。Class原创 2016-04-16 15:57:36 · 7031 阅读 · 1 评论 -
java.lang.Class.forName(String name, boolean initialize, ClassLoader loader)方法
描述java.lang.Class.forName(String name, boolean initialize, ClassLoader loader) 方法返回与给定字符串名的类或接口的Class对象,使用给定的类加载器。指定的类加载器加载的类或接口。如果该参数加载器loader 为空,通过引导类加载器加载类。当类被初始化的初始化initialize参数为true,如果它没有原创 2016-05-01 13:17:42 · 5139 阅读 · 4 评论 -
Java类和对象及实例
1,类和对象 在面向对象的概念当中,类(class)是既包括数据又包括作用于数据的一组操作的封装体。类的数据称为成员变量,类对数据的操作称为成员方法。成员变量反映类的状态和特征,成员方法反映类的行为和能力。类的成员变量和方法统称为类的成员。 对象(Object)是类的实例(instance)。对象是动态的,拥有生命周期,都会经历一个从创建、运行到消亡的过程原创 2016-04-30 08:17:55 · 1449 阅读 · 2 评论 -
直接修改别人jar包里面的class文件 工具:jclasslib
出于某些原因需要把别人jar包里面的class修改一下信息配置文件*.properties MANIFEST.MF 这些东西可以直接用记事本打开修改 然后替换掉就OK..在网上游荡了半天,没有找到合适的方法开始我是先用jd-gui反编译 把我需要修改的那个A.class文件反编译出来把代码保存到A.Java然后直接在dos里面用javac A.java编译问题来了..因转载 2016-05-12 11:09:27 · 5109 阅读 · 0 评论 -
Java中Class.forName()用法详解
Class.forName()主要功能Class.forName(xxx.xx.xx)返回的是一个类,Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段。下面,通过解答以下三个问题的来详细讲解下Class.forName()的用法。一.什么时候用Class.forName()?给你一个字符串变量,它代表一个类的原创 2016-04-16 15:26:34 · 16083 阅读 · 5 评论 -
java中Class对象详解和类名.class, class.forName(), getClass()区别
Class对象的生成方式如下: 1.类名.class 说明: JVM将使用类装载器, 将类装入内存(前提是:类还没有装入内存),不做类的初始化工作.返回Class的对象 2.Class.forName("类名字符串") (注:类名字符串是包名+类名) 说明:装入类,并做类的静态初始化,返回Class的对象 3.实例对象.getClass() 说明:原创 2016-04-09 14:21:42 · 11080 阅读 · 2 评论 -
import com.sun.image.codec.jpeg.JPEGCodec不通过 找不到包
import com.sun.image.codec.jpeg.JPEGCodec;在Eclipse中处理图片,需要引入两个包:import com.sun.image.codec.jpeg.JPEGCodec;import com.sun.image.codec.jpeg.JPEGImageEncoder;报错:Access restriction: Th原创 2016-04-02 16:51:50 · 1425 阅读 · 1 评论 -
Java泛型的优点
Java 泛型是java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的原创 2016-05-01 21:35:38 · 1821 阅读 · 0 评论 -
JAVA中的集合的概念
为什么要使用集合类当你事先不知道要存放数据的个数,或者你需要一种比数组下标存取机制更灵活的方法时,你就需要用到集合类。理解集合类集合类存放于java.util包中。集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是指集合中对象的引用(reference)。集合类型主要有3种:set(集)、list(列表)和map(映射)。(1)集原创 2016-05-01 21:43:54 · 3628 阅读 · 0 评论 -
Java基础-super关键字与this关键字
用super调用父类构造方法类如果没有显式声明构造方法,则自动生成无参数的默认构造方法。1.先用一个无参数的父类构造方法验证一下,执行子类构造方法会自动调用父类的构造方法。测试代码:class Human3{ public Human3(){ System.out.println("构造一个人"); }}class Pupil3原创 2015-09-20 21:02:59 · 857 阅读 · 1 评论 -
Java内存分配全面浅析
本文将由浅入深详细介绍Java内存分配的原理,以帮助新手更轻松的学习Java。这类文章网上有很多,但大多比较零碎。本文从认知过程角度出发,将带给读者一个系统的介绍。 进入正题前首先要知道的是Java程序运行在JVM(Java Virtual Machine,Java虚拟机)上,可以把JVM理解成Java程序和操作系统之间的桥梁,JVM实现了Java的平台无关性,由此可见JVM转载 2016-05-02 09:20:53 · 1108 阅读 · 0 评论 -
Java对数据库进行事务处理(批量删除操作)
记录Java对数据库进行事务处理(删除操作),在开始之前先来看下面这样的一个页面图: 上面这张图片显示的是从数据库中查询出的用户信息,信息中进行了分页处理,然后每行的前面提供了一个复选按钮,可以选中多个进行操作,这里主要是进行删除操作。在执行删除操作之前先先要选中对应的行信息,点击删除进行删除。当进行多条信息删除的时候,需要使用java的事务处理机制对数据库进行删除,也就转载 2016-05-04 22:35:49 · 8479 阅读 · 2 评论 -
什么是微信公众号开发
微信公众号分为订阅号和服务号。1、订阅号,每天群发一条信息,认证后有自定义菜单。没有高级接口,不能用开发模式。2、选择服务号,申请后自带自定义菜单。认证后可以有高级接口,每周群发一条信息。均不可主动添加微信好友。3、企业号注:订阅号、服务号在通讯录里被归类,用户可以去订阅号的列表中找到已关注订阅号推送的信息,但是不会主动在列表中提醒有新消息,需要用户自己去看。服务号转载 2016-05-08 13:02:01 · 2303 阅读 · 0 评论 -
微信公众号开发教程
开发和调试之殇微信公众号的开发,说简单也简单,说麻烦也麻烦,麻烦的不是开发过程,而是搭建开发环境的过程。不过俗话说得好,磨刀不误砍柴工,我们有必要花点时间来研究下如何攻破微信公众号的开发环。说白了,公众号的开发就是基于HTML/CSS/JS的移动端Web App的开发,但微信公众号和普通的移动Web App开发还略有不同,因为很多情况下我们会调用公众号的接口,而只要涉及微信接口的请求,转载 2016-05-08 12:58:50 · 10162 阅读 · 0 评论 -
Java 类的实例变量初始化的过程 静态块、非静态块、构造函数的加载顺序
java中的块分为静态块(static{})和非静态块({}),这两种的执行是有区别的: 非静态块的执行时间是:在执行构造函数之前。 静态块的执行时间是:class文件加载时执行。 static类型的属性也是在类加载时执行的。 2)、可见Java类的实例变量初始化的过程: static类型的成员属性执行,静态块(static{})按顺序执行,然后非静态成员变量初始化,非静态代码块({})执行,最后执行构造方法。 static原创 2015-10-21 09:55:19 · 3112 阅读 · 1 评论 -
java泛型
泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。Java语言引入泛型的好处是安全简单。在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开原创 2016-04-09 15:38:37 · 2775 阅读 · 0 评论 -
Java关键字null
一、null是代表不确定的对象 Java中,null是一个关键字,用来标识一个不确定的对象。因此可以将null赋给引用类型变量,但不可以将null赋给基本类型变量。 比如:int a = null;是错误的。Ojbect o = null是正确的。 Java中,变量的适用都遵循一个原则,先定义,并且初始化后,才可以使用。我们不能int a后,不给a指定值,就去打印a的值。这原创 2016-04-30 23:05:17 · 807 阅读 · 0 评论 -
整理 java 分页思路
今天刚学分页还有些不是很清楚 想整理一下.. 1.要先创建数据库 把要显示的数据存入表里 2.就要开始写代码了 写一个JavaBean 创建数据库属性 用于存取 3.创建一个数据库查询类 这个类里有两个方法 一个方法返回数据表里的属性值和设置显示方法(用sql 语句设置为:select top " 每页显示的行数 " *from userinfo where id原创 2016-05-06 22:40:17 · 6079 阅读 · 0 评论 -
Java 对象初始化顺序 执行顺序
先看一道Java面试题:求这段程序的输出。 解答此题关键在于理解和掌握类的加载过程以及子类继承父类后,重写方法的调用问题: 从程序的执行顺序去解答:1.编译;当这个类被编译通知后,会在相应的目录下生成两个.class 文件。一个是 Base.class,另外一个就是Base$Sub.class。这个时候类加载器将这两个.class 文件加载到内存 2、Base原创 2015-10-14 22:59:53 · 2679 阅读 · 2 评论