自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

原创 Java参数传递

Java只有值传递。当一个对象作为参数传递到方法中时,只是将内存地址拷贝一份过去,并不是引用传递。详情参见: http://blog.sina.com.cn/s/blog_4b622a8e0100c1bo.html

2016-11-23 10:01:09 208

原创 继承方法调用问题

class ParentClass{ public void parentMethod(){ System.out.println("parent Class"); } public void overrid(){ parentMethod(); }}class ChildClass extends ParentClass{

2016-11-12 16:04:37 275

原创 Department Highest Salary

The Employee table holds all employees. Every employee has an Id, a salary, and there is also a column for the department Id.+—-+——-+——–+————–+ | Id | Name | Salary | DepartmentId | +—-+——-+——–+————

2016-11-01 11:59:03 265

原创 Duplicate Emails

Write a SQL query to find all duplicate emails in a table named Person.+—-+———+ | Id | Email | +—-+———+ | 1 | a@b.com | | 2 | c@d.com | | 3 | a@b.com | +—-+———+ For example, your query shou

2016-10-31 10:50:26 225

原创 对象的哈希值

任何类均为Object类的间接子类,所以均继承方法public int hashCode()该方法返回的值一般是通过将该对象的内部地址转换成一个整数来实现的。这样能保证每个对象的哈希码值不一样。哈希码产生的依据:哈希码并不是完全唯一的,它是一种算法,让同一个类的对象按照自己不同的特征尽量的有不同的哈希码,但不表示不同的对象哈希码完全不同。  hash码的主要用途:在对对象进行散列的时候作为key输入

2016-10-16 20:17:55 1514

转载 synchronized的用法

参见 http://blog.csdn.net/luoweifu/article/details/46613015

2016-10-16 16:51:00 216

原创 Thread Join()

有线程T1,T2和T3,将如何确保线程T2运行后T1后,T3运行在T2线程后。public class JoinTest{ public static void main(String[] args) { Thread t1 = new Thread(new Runnable(){ @Override public void r

2016-10-16 15:21:18 197

原创 事务

1 确认表中使用的引擎show create table 表名;2 修改表使用的引擎alter table 表名 engine=新引擎;3 作用   事务处理是将多个更新命令作为一个整体来执行,从而保证数据整合性的机制。   使用事务处理后,可以保证所有的处理要么都成功,要么都失败。进行多个关联数据处理的情况下,事务处理是必不可少的机制(如银行转账)。4 声明事务处理开始BEGIN(或者ST

2016-10-16 14:16:49 183

原创 锁定

1 目的   在多用户同时更新的情况下也能保证数据的整合性。    2 共享锁定   当用户参照数据时,将对象数据变为只读形式的锁定,也成为读取锁定。    3 排他锁定   使用INSERT/UPDATE/DELETE命令对数据进行更新时使用的锁定,在其他事务处理中不能进行更新以及参照。也称为写入锁定或独占锁定。    4 锁定的粒度:记录(行)、表、数据库5 事务处理的分离水平

2016-10-16 11:40:00 279

原创 存储过程

1 定义   存储过程就是数据库中保存的一系列SQL命令的集合,也可以将其看作相互之间有关系的SQL命令组织在一起形成的一个小程序。    2 好处  (1)提高执行性能  (2)可减轻网络负担  (3)可防止对表的直接访问  (4)可将数据库的处理黑匣子化   3 存储过程是一个非常方便的技术,在构建数据库应用程序时应该积极地导入它。4 创建存储过程 create proc

2016-10-16 11:35:44 144

原创 JVM的内存区域

方法区:在java的虚拟机中有一块专门用来存放已经加载的类信息、常量、静态变量以及方法代码的内存区域,叫做方法区。常量池:常量池是方法区的一部分,主要用来存放常量和类中的符号引用等信息。堆区:用于存放类的对象实例。栈区:也叫java虚拟机栈,是由一个一个的栈帧组成的后进先出的栈式结构,栈桢中存放方法运行时产生的局部变量、方法出口等信息。当调用一个方法时,虚拟机栈中就会创建一个栈帧存放这些数据,当方法

2016-10-16 10:09:15 305

原创 类的生命周期

参考:http://www.2cto.com/kf/201204/129386.html 1 须知    当我们编写一个java的源文件后,经过编译会生成一个后缀名为class的文件,这种文件叫做字节码文件,只有这种字节码文件才能够在java虚拟机中运行。2 定义    java类的生命周期就是指一个class文件从加载到卸载的全过程。3过程    一个java类的完整的生命周期会经历加载、

2016-10-16 10:07:23 285

原创 索引

1 创建索引create [unique] index 索引名 on 表名(列名,...);(1)如果索引被指定为unique关键字,则可创建不可重复的索引,称为唯一性索引。 (2)如果对一列创建索引,则该列不能有重复元素 (3)如果对多列创建索引,可能创建成功,因为指定多个列时,只需要这几个列的组合数据不出现重复数据即可。 (4)索引可以有多个列,这样的索引称为复合索引。2 显示表中所有的

2016-10-15 23:09:52 191

原创 视图

1 本质:   将select语句的检索结果用表的形式保存下来,因此有时视图称为假表。这是因为视图本身不包含任何数据的,仅仅是从对象表中动态地抽取数据,并将数据组织在一起,外表看起来像一个物理表。 2 作用:   将多个物理表中的数据通过视图动态地组织在一起,用户可以像使用普通物理表那样使用它。 3 特征:  (1)可以公开表中特定的行或列,通过视图进行权限权限管理。  (2)简化复

2016-10-15 23:04:08 192

原创 存储函数

1 定义:保存在数据库中的函数,定义存储函数的要点几乎预定义存储过程完全相同。2 定义存储函数 create function 函数名( 参数1 数据类型1 [,参数2 数据类型2...] )returns 返回值类型 begin 任意系列SQL语句 return 返回值: end3 存储过程指定[

2016-10-15 22:57:52 242

原创 触发器

1 触发器可以说是实现了针对相关表的处理自动化的机制2 创建触发器 CREATE TRIGGER 触发器名 发生时刻 事件名 ON 表名 FOR EACH ROW BEGIN 任意系列SQL语句 END3 特点:  (1)指定成为触发器调用方的表名。也就是说在创建触发器时,需要指定针对哪个表的操作才能成为“触发装置”;  (2)决定触发器运

2016-10-15 22:55:54 288

原创 游标

1 定义:对SELECT语句取得的结果进行一件一件处理的功能。2 指针:确定当前记录的信息,可以理解为内存中保存此记录的“地址”,在游标处理中,通过移动指针来进行逐行的数据处理。3 声明游标declare 游标名 cursor for select 语句;4 打开游标open 游标名;使用游标时,必须执行声明过的游标,取得具体的记录集合,即需要打开游标。5 保存指针数据到变量中fetch 游标名

2016-10-15 21:21:31 245

原创 从文本文件中读取数据

1 向数据库中导入数据文件load data infile 文件名 into table 表名 选项;如:load data infile 'C:/data/t.CSV' into table customer fields terminated by ',';2 指定load data infile 命令中的数据形式的选项 (1)fields terminated by 分隔字符(默认

2016-10-15 21:09:36 2878

原创 数据库整体的备份与恢复

1 转储:将数据库整体保存到文件中的操作。2 恢复:从零创建数据库,使用转储文件的方法很简单。在恢复数据库之前,必须要首先创建数据库3 转储数据库mysqldump -u 用户名 -p 密码 数据库名 > 输出文件名如果出现转储失败。可以尝试在命令的最后加上[–default-character-set=utf-8]这样的字符编码选项4 恢复实例mysqladmin -u root -p12345

2016-10-15 21:04:18 412

原创 复制表和删除表

1 表的列构造+数据的复制create table 新表名 select * from 旧表名[设置条件]; 注意:使用此方法发生列属性被改变的情况,例如,根据mysql版本,varchar(20)可能被修改为char(20)。另外,可能发生不能复制index的有关设定的情况,复制完成后,应用desc命令确认一下表的构造.2 复制表的列构造create table 新表名 like 旧表名;

2016-10-15 21:01:25 276

原创 嵌套查询

1 基本子查询 语法select 列名1 ... from 表名where 列名 比较运算符 (select命令)例如:select * from product where price > (select AVG(price) from product);2 多个返回值的子查询 对于像比较运算符这些只要求单一值的比较运算符时,子查询的结果也必须是返回单一值的。而如果使用了i

2016-10-15 20:47:25 169

原创 表连接

多个表的连接:将这些个分割管理的数据重新结合成一条数据时,就是所谓表连接处理。1 内连接 (1)定义:表间的主键与外键进行连接,只取得键值一致的数据的连接方式。 (2)语句 select 列名1... from 表1 inner join 表2 on 表1.外键 = 表2.主键 [where/order by 语句等注意:为了让域名属于哪个表清楚明白

2016-10-15 18:57:03 175

原创 SELECT 命令

1 推荐明确指定列名2 条件检索   比较运算符 运算符 说明 = 相等 > 大于 < 小于 >= 大于等于 <= 小于等于 <> 不相等 IS [NOT] NULL [不]为NULL [NOT] LIKE 指定目标一致(不一致) [NOT] BETWEEN 包含在指定范围内(不包含) [NOT] IN 包含在指

2016-10-15 17:50:48 469

原创 数据库表的操作

创建新表create table 表名(域名 数据类型 列选项[,...])[charset=utf8];其中列选项可以有多个,之间用空格隔开,包括: (1)auto_increment 满足三个条件:    数据类型必须为[int]等整数类型    列的定义后附加[auto_increment]关键字    使用[primary key]等设置其唯一性 初始化auto_

2016-10-15 17:25:31 204

原创 数据库的相关操作

1 定义 (1)数据库:放置数据的抽屉。 (2)数据库管理系统(DBMS):能进行所有与数据库相关的操作。 (3)关系型数据库(RDB):数据库是表以及操作数据库用的对象操作体,而表示记录(一组数据)/域(列)的集合体。   在RDB中,标识表内记录唯一性的域或域群被称为主键,与主键关联用的外部表的参照键被称为外键。主键在所在表必须保持唯一性,而外键的域中必须保存于主键相符的数据。2 基本操

2016-10-15 17:12:09 276

原创 wait()、notify()、notifyAll()

import java.util.LinkedList; import java.util.Queue; import java.util.Random; /** * Simple Java program to demonstrate How to use wait, notify and notifyAll() * method in Java by solving producer

2016-10-10 21:42:33 143

原创 命名惯例

标识符类型 字面命名惯例 语法命名惯例 包 Internet域名转换 类或者接口 一个或多个单词,首字母大写 类:一个名词或者名词短语命名;接口:与类类似,或者用一个以‘-able’或‘-ible’结尾的形容词命名 方法 与类和接口类似,但是首字母小写 (1)执行某个动作的方法常用动词或者动词短语命名。(2)对于返回boolean值的方法,其名称以‘is’

2016-10-04 19:31:27 342

原创 需要精确答案,避免使用float和double

1 float和double类型主要是为了科学计算和工程计算而设计的。它们执行二进制浮点运算,这是为了在广泛的数值范围上提供较为精准的快速近似计算而精心设计的,然而它们并没有提供完全精准的结果,所以不应该用于需要精准结果的场合。尤其不适合用于货币计算2 如果想让系统来记录十进制小数点,并且不介意因为不适用基本类型带来的不便,应该使用BigDecimal。3 如果性能非常关键,并且不介意自己记录十进制

2016-10-03 16:58:27 579

原创 产生随机数

import java.util.Random;public class GenerateRandomNumber{ public static void main(String[] args) { Random r=new Random(); //设置种子 r.setSeed(System.currentTimeMil

2016-10-03 11:22:09 150

原创 异常

1 异常是为了在异常情况下使用而设计的。不要将它们用于普通的控制流。2 Java提供了三种可抛出结构:受检异常、运行时异常和错误。其中后两者称为未受检异常。 使用原则:   (1)如果期望调用者能够适当恢复,对于这种情况就应该使用受检的异常。对于这样的异常,提供一些辅助方法尤为重要,通过这些方法,调用者可以收获一些有助于恢复的信息。例如,用于欠费,企图呼叫,这是可以抛出受检异常,提供用于查询所

2016-10-02 20:59:53 202

原创 判断链表是否有环

解法: (1)创建两个指针1和2(在java里就是两个对象引用),同时指向这个链表的头节点。 (2)开始一个大循环,在循环体中,让指针1每次向下移动一个节点,让指针2每次向下移动两个节点。 (3)比较两个指针指向的节点是否相同。如果相同,则判断出链表有环,如果不同,则继续下一次循环。例如链表A->B->C->D->B->C->D,两个指针最初都指向节点A,进入第一轮循环,指针1移动到了节点B,

2016-10-02 10:01:44 178

原创 泛型与原生态类型

1.泛型的概念  声明具有一个或者多个类型参数的类或者接口就是泛型。2.每个泛型都定义了一个原生态类型,即不带任何实际类型参数的泛型名称。例如,List< String >相应的原生态类型是List。3.无限制的通配符类型,如Set< ? >(读作“某个类型的集合”)。与原生态类型的区别是通配符类型是安全的,原生态类型则不安全。4.使用泛型的好处(1)对于错误的插入编译时会报错(2)从集合中取

2016-09-28 22:11:40 351

转载 Java静态方法继承问题

原文结论:   java中静态属性和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏. 原因: 1)  静态方法和属性是属于类的,调用的时候直接通过类名.方法名完成对,不需要继承机制及可以调用。如果子类里面定义了静态方法和属性,那么这时候父类的静态方法或属性称之为”隐藏”。如果你想要调用父类的静态方法和属性,直接通过父类名.方法或变量名完成。2)静态属性、静态方法和非

2016-09-25 16:51:25 204

原创 通过私有化构造器强化不可实例化的能力

有时候,可能需要编写只包含静态方法和静态域的类。如利用这些类,以java.lang.Math或者java.util.Arrays的方式,把基本类型的值或者数组类型的相关方法组织起来。   这些工具类不希望被实例化,实例化它们没有任何意义。但是由于存在缺省构造器的情况。   为了避免上述情况,我们可以通过私有化构造器使得该类的外部无法访问它。但是有一个副作用,就是该类无法子类化。

2016-09-25 16:16:41 271

原创 多个构造器参数

当类需要扩展大量的可选参数时,有以下几种选择: (1)构造多个构造器 优点:保证构造过程中安全。 缺点:缺乏可读性且客户端代码很难编写。(2)JavaBean模式 优点:可读性好且容易扩展。 缺点:类无法仅仅通过检查构造器参数的有效性来保证一致性,会造成调试上的困难阻止了把类做成不可变的可能,这就需要程序员付出额外的努力来保证它的线程安全(3)Builder模式 例子:public

2016-09-25 11:38:14 461

原创 Longest Substring Without Repeating Characters

Given a string, find the length of the longest substring without repeating characters.Examples: Given “abcabcbb”, the answer is “abc”, which the length is 3. Given “bbbbb”, the answer is “b”, with th

2016-09-24 16:52:16 162

原创 protected、try...finally

class A{ protected int val; public A(int i){ this.val = i; } public int getValue(){ try{ val += 10; return val; }finally{ Sys

2016-09-24 11:22:43 129

转载 char和byte的区别

原文 http://blog.csdn.net/luoweifu/article/details/7770588  byte 是字节数据类型 ,是有符号型的,占1 个字节;大小范围为-128—127 。char 是字符数据类型 ,是无符号型的,占2字节(Unicode码 );大小范围 是0—65535 ;char是一个16位二进制的Unicode字符,JAVA用char来表示一个字符 。

2016-09-24 10:26:44 215

转载 常数e的含义

简单说来,e就是 增长的极限 。   下面这个例子就是对e直观含义的极好诠释:   某种类的一群单细胞生物每24小时全部分裂一次。在不考虑死亡与变异等情况下,那么很显然,这群单细胞生物的总数量每天都会增加一倍。据此我们可以写出它的增量公式:      growth=2xgrowth=2^x (其中x表示天数) 这个式子可以改写成如下的样子:      growth=(1+100%)xgro

2016-09-23 16:16:48 1048

原创 从内存上看swap

原文:http://www.importnew.com/3559.html 问题: 如果Java是用引用来传递的话,为什么交换函数(swap)不起作用呢?public void tricky(Point arg1, Point arg2){ arg1.x = 100; arg1.y = 100; Point temp = arg1; arg1 = arg2;

2016-09-23 09:46:11 184

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除