- 博客(61)
- 资源 (8)
- 收藏
- 关注
转载 java Pattern和Matcher详解
结论:Pattern与Matcher一起合作.Matcher类提供了对正则表达式的分组支持,以及对正则表达式的多次匹配支持. 单独用Pattern只能使用Pattern.matcher(String regex,CharSequence input)一种最基础最简单的匹配。Java正则表达式通过java.util.regex包下的Pattern类与Matcher类实现(建议在阅读本
2017-03-23 17:41:54 696
转载 Spark的几个基本概念:Driver和Job,Stage
Driver Program, Job和Stage是Spark中的几个基本概念。Spark官方文档中对于这几个概念的解释比较简单,对于初学者很难正确理解他们的涵义。官方解释如下(http://spark.apache.org/docs/latest/cluster-overview.html): Driver Program: The process running the main(
2017-02-13 17:23:44 441
转载 java.lang.NoClassDefFoundError
今天想测试个类,路径为/workspace/javalearn/src/JVM/VolatileTest.java,没有包含其他类。然后用终端cd到JVM下,javac VolatileTest.java,正常,同目录下生成了VolatileTest.class文件。java VolatileTest,出错了,报错Exception in thread "main" java.lang
2016-08-25 11:30:26 445
转载 总结一下各种IO方式(非常好的文章!)
同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,有人认为asynchronous IO和non-blocking IO是一个东西。这其实是因为不同的人的知识背景不同,并且在讨论这个问题的时候上下文(context)也不相同。所以,
2016-07-01 10:47:58 1094
转载 Spring常用注解
使用注解来构造IoC容器用注解来向Spring容器注册Bean。需要在applicationContext.xml中注册。如:在base-package指明一个包1 context:component-scan base-package="cn.gacl.java"/>表明cn.gacl.java包及其子包中,如果某个类的头上带有特定的注解【@Component
2016-06-27 21:19:08 762 1
转载 IOC和AOP的一些基本概念
IOC和AOP的一些基本概念介绍 IOC介绍 IOC 一、什么是IOCIoC就是Inversion of Control,控制反转。在Java开发中,IoC意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。这称为控制反转。下面我们以几个例子来说明什么是IoC假设我们要设计一个Girl和一个Boy类,其中Girl有kiss方法,即Girl
2016-06-27 21:13:35 692
转载 为什么访问数据库要通过端口?
数据库大家都知道。我们现在使用的数据库都是关系型数据库,说白了就是一张表,该表有各种信息。再简化一点就是一个文件,用户提供一个查询的语句,那么该表返回一个你所查询的结果。假设有个程序tinysql.exe,他可以管理数据库文件a.db,那么你在a.db调用一个sql做相关的查询可以做如下表示。tinysql.exe a.db a.sql
2016-06-27 20:21:51 2725
原创 【数据库】一些杂杂的概念
关系型数据库: 关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。关系数据库中的核心内容是关系即二维表。关系模型: 就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。当前主流的关系型数据库有Oracle、DB2、PostgreSQL、Microsoft SQL Server
2016-06-27 20:02:16 395
转载 设计模式——装饰者模式
装饰者模式:动态地将职责附加到对象上,若要扩展对象,装饰者模式提供了比继承更弹性的替代方案 要点: 装饰者与被装饰者拥有共同的超类,继承的目的是继承类型,而不是行为装饰者包含一个超类的对象,这样,可以在被装饰者行为前或者行为后加上新的行为,甚至取代原有的行为装饰者会使程序中出现很多小类,增加使用难度使用场景:对象由主体+许多可选的部件或者功能构成,使用继承或者接口会产生
2016-06-22 16:04:23 394
转载 设计模式——适配器模式
1. 概述 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。2. 解决的问题 即Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。3. 模式中的角色 3.1 目标接口(Target),目标角色:客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口
2016-06-22 15:53:24 243
转载 Java Math的 floor,round和ceil的总结
floor 返回不大于的最大整数 round 则是4舍5入的计算,入的时候是到大于它的整数round方法,它表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11。ceil 则是不小于他的最小整数看例子
2016-06-21 10:36:07 340
转载 Android Dialog大全
转自:http://android.tgbus.com/Android/tutorial/201107/359812.shtml 1.该效果是当按返回按钮时弹出一个提示,来确保无误操作,采用常见的对话框样式。 代码: 创建对话框方法dialog() protected void dialog() { AlertDialog.Bui
2016-06-17 10:24:33 276
原创 接口和抽象类的一道题
下述说法中抽象类与接口的区别正确的有哪些?A 抽象类中可以有普通成员变量,接口中没有普通成员变量。B抽象类和接口中都可以包含静态成员变量。C一个类可以实现多个接口,但只能继承一个抽象类D抽象类中可以包含非抽象的普通方法,接口中的方法必须是抽象的,不能有非抽象的普通方法。正确答案: A B C 你的答案: A C D (错误)D中,Java
2016-06-16 11:15:49 606
转载 Integer,int,==
有如下4条语句:()1234Integer i01=59;inti02=59;Integer i03=Integer.valueOf(59);Integer i04=newInteger(59);以下输出结果为false的是:A
2016-06-16 11:06:19 749
转载 C/C++ struct/class/union内存对齐
转自:http://www.cnblogs.com/biyeymyhjob/archive/2012/09/07/2674992.htmlstruct/class/union内存对齐原则有四个:1).数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小或者成员的子成员大小(只
2016-06-16 08:47:54 371
原创 类的加载
Java类的加载:“类的代码在初次使用时才会加载”。包括:1.创建类的第一个对象之时。2.访问static域或static方法时。其实构造函数也是static方法,只不过关键字未写出。故,严格来说,类实在其任何static成员被访问时加载的。Java中所有事物都是对象,每个类的编译代码都存在于它自己独立的文件中,该文件只有在需要使用程序代码时才会被加载,即“类的代码在初
2016-06-15 22:15:25 307
原创 "覆盖"和private
“覆盖”只在某方法是基类的接口的一部分时才会出现。即,必须能将一个对象向上转型为它额基本类型并调用相同的方法。如此,该方法在基类中不能为private,否则它就不是基类接口的一部分。它只是一些隐藏在类中的程序代码,只不过具有相同名称。若子类中以相同名称生成一个public,protected或报访问权限的方法的话,此时你并没有覆盖该犯法,仅是生成了一个新的方法。 “private
2016-06-15 21:45:04 976
原创 【Java】可变参数
public class VarargType { static void f(Character... args){ System.out.print(args.getClass().getName()); System.out.println(" length: "+args.length); } static void g(Integ
2016-05-19 12:23:33 319
原创 【Java】finalize()和垃圾回收机制
finalize()方法:一旦gc准备释放对象占用的存储空间,将首先调用finalize()方法,并在下一次垃圾回收动作发生时才会真正回收内存。可在此进行重要的清理操作。gc只能释放那些经由new分配的内存,对其他形式获得的内存无法释放。finalize()方法不一定会被调用,所以不能作为通用的清理方法。它不是析构函数,C++中对象一定会被销毁(必须用到析构函数),而java 对象却并非总是被
2016-05-19 11:22:56 1000
原创 【Java】学习笔记一
1.Java中,Set add()不能加基本类型,只能添加对象;有返回值,如果集合中已有重复数据,添加失败,返回false.2.对于数组,null和长度为0的空数组是不一样的。 if (nums1 == null || nums2 == null) return null; if (nums1.length == 0 || nums
2016-05-18 15:33:10 283
原创 【LeetCode】字符串反转函数的几个算法 Reverse String
题目:Write a function that takes a string as input and returns the string reversed.Example:Given s = "hello", return "olleh".//反转字符串方法1.最容易想到public String reverseString(String s) {
2016-05-18 11:35:38 3177
原创 【Java】new String(char value[]) valueOf(char data[])
Java的String有一些方法达成相同的作用。通过查看源码可以知道原理。public static String valueOf(char data[]) { return new String(data);}public String(char value[]) { this.value = Arrays.copyOf(value, value.lengt
2016-05-18 11:28:50 1126
转载 【Java】StringBuilder、StringBuffer、String 比较
在执行速度方面的比较:StringBuilder > StringBuffer > String 2. StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们对字符串做操作时,实际上是在一个对象上操作的,不像String一样创建一些对象进行操作,所以速度就快了。3. StringBuilder:线程非安全的 StringBuffer:
2016-05-18 11:24:31 234
原创 【Java】String getBytes() toCharArray()
public byte[] getBytes();//获取字节数组public char[] toCharArray() {//获取字符数组 // Cannot use Arrays.copyOf because of class initialization order issues char result[] = new char[value.length]; Syst
2016-05-18 11:16:11 672
原创 【Java】String == 和equals()
public static void main(String[] args) { String a = "scd"; String b = null; String c = new String("scd"); System.out.println("a = "+a); System.out.println("b = "+b); System.out
2016-05-18 10:51:33 344
转载 【Java】java.util.Random()/Random(long seed)
Random()选择的种子是和当前时间相关的,是随机的。Random(Long seed) 种子是固定的,是伪随机的。初始的种子不同:Random()是采用默认生成的种子Random(long seed)是自己设置的种子.对于种子相同的, 生成的随机数序列是一致的.比如new Random(10).nextInt()肯定等于new Random(10).nextInt(
2016-05-17 15:57:31 1088
原创 【Java】Thread学习笔记
1.可在任何一任务的内部,调用Thread.currentThread()来获取对驱动该任务的Thread对象的引用。2.重写类的toString()函数,执行System.Out.println(this),将输出新定义的字符串。3.Thread.setPriority可以改变线程的优先级,要在run()方法中而不是构造函数中,否则Executor还没有开始执行任务。4.守护线程/后
2016-05-16 19:45:43 486
转载 Thread.sleep() 和 Thread.yield() 区别
1. Thread.yield(): api中解释: 暂停当前正在执行的线程对象,并执行其他线程。 注意:这里的其他也包含当前线程,所以会出现以下结果。 public class Test extends Thread { public static void main(String[] args) { for (int i
2016-05-16 16:02:36 416
原创 String学习杂笔
一、字符串转换编码public static String translate(){ String str="你好,我是喵喵.hello,I'm Delia."; String result = ""; try{ result = new String(str.getBytes("ISO-8859-1"),"GBK");//把字节数组转为字符串,第一
2016-05-16 15:51:41 275
原创 Java之Clone()
实现克隆的方法步骤:1.实现Cloneable接口;2.重载Object类中的Clone方法,定义为public;3.在重载中,调用super.clone()方法;(浅克隆)4.成员变量中有对象类型时,要对对象分别调用.clone()方法。(深克隆)package com.selfCode;import java.util.Date;/** * 练习Clone *
2016-05-12 10:45:46 208
原创 Java程序初始化的顺序
此处讨论Java程序初始化的顺序。一、实例化对象时:1.对象所在类的所有成员变量首先都要进行初始化。这里的成员变量包括实例变量和类变量。即所有的变量都要先初始化。2.所有的类成员完成初始化,才会调用对象所在类的构造函数创建对象。类成员包括成员变量和成员方法,即所有的四类变量和方法:实例变量和类变量,实例方法和类方法,全部初始化完毕。二、Java程序初始化顺序的原则有三,优先
2016-05-12 09:07:17 632
原创 public static void main(String[] args)
public static void main(String[] args)是Java程序的入口方法。1.public static 可互换。static public void main(String[] args)2.可以用final修饰。public static final void main(String[] args)3.可以用synchronized 修饰。static
2016-05-12 08:50:21 1021
原创 “Java语言中的方法属于类中的成员(member)”为什么不对
类成员必须是静态的,而方法可能是静态方法,也可能是非静态方法。静态方法是类成员,非静态方法是实例成员。
2016-05-12 08:49:16 5834
原创 cannot resolve symbol R 解决方法
Build -> Clean ProjectTools -> Android -> Sync Project With Gradle Files不成功就多试几次
2016-05-04 17:21:30 895
转载 java的几种对象(po,dto,dao等)
J2ee中,经常提到几种对象(object),理解他们的含义有助于我们更好的理解面向对象的设计思维。 POJO(plain old java object):普通的java对象,有别于特殊的java对象(含继承约束等)和EJB。POJO一般只有一系列的属性和相应的get、set方法。 PO(persistant object):持久化对象,有别于POJO,必须对应数据库中的
2016-05-04 17:20:33 667
转载 Android中LayoutParams的用法
简单说说 自己对 android LayoutParams的理解吧。public static classViewGroup.LayoutParamsextends Objectjava.lang.Object ↳ android.view.ViewGroup.LayoutParams //继承关系以下说明摘自官方文档E文好的可以看看Class Over
2016-05-04 11:46:58 368
转载 Java语法问题,构造函数为什么后面还有大括号?
mDialog = new Dialog(context, R.style.Theme_Panel_Volume) { public boolean onTouchEvent(MotionEvent event) { if (isShowing() && event.getAction() == MotionEvent.ACTION_OUTS
2016-04-29 12:03:38 3143
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人