Java
文章平均质量分 54
Sally-he
个人比较开朗
展开
-
代理简析(静态代理与动态代理)
1、代理 代理,简称为Proxy。意思就是你什么都不用去做,别人代替你去做。 她在程序开发中起到了非常重要的作用,比如AOP,就是针对代理的一种应用。此外,在设计模式中,还有一个“代理模式”。 接下来,通过一个例子,由浅及深学习public interface Hello{ void say(String name)}上面是一个Hello的接口,接下来是实现类public class原创 2017-08-29 15:56:07 · 352 阅读 · 0 评论 -
Set接口
Set接口中的方法和Collection中方法一致的。Set接口取出方式只有一种,迭代器。|--HashSet:底层数据结构是哈希表,线程是不同步的。无序,高效;HashSet集合保证元素唯一性:通过元素的hashCode方法,和equals方法完成的。 当元素的hashCode值相同时,才继续判断元素的equals是否为true。 如果为true,那么视为相同元素,不存。如果为false,那原创 2017-04-23 15:36:02 · 361 阅读 · 0 评论 -
List接口
List本身是Collection接口的子接口,具备了Collection的所有方法。现在学习List体系特有的共性方法,查阅方法发现List的特有方法都有索引,这是该集合最大的特点。List:有序(元素存入集合的顺序和取出的顺序一致),元素都有索引。元素可以重复。 |–ArrayList:底层的数据结构是数组,线程不同步,ArrayList替代了Vector,查询元素的速度非常快。 |–Lin原创 2017-04-23 15:32:56 · 363 阅读 · 0 评论 -
Iterator接口
前言 迭代器:是一个接口。作用:用于取集合中的元素。boolean nhasNext() 如果仍有元素可以迭代,则返回 trueEnext() 返回迭代的下一个元素。voidremove() 从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。每一个集合都有自己的数据结构,都有特定的取出自己内部元素的方式。为了便于操作所有的容器,取出元素。将容器原创 2017-04-23 15:15:52 · 456 阅读 · 0 评论 -
集合框架
集合框架:用于存储数据的容器。 特点:对象封装数据,对象多了也需要存储。集合用于存储对象。对象的个数确定可以使用数组,但是不确定怎么办?可以用集合。因为集合是可变长度的。集合和数组的区别:数组是固定长度的;集合可变长度的。数组可以存储基本数据类型,也可以存储引用数据类型;集合只能存储引用数据类型。数组存储的元素必须是同一个数据类型;集合存储的对象可以是不同数据类型。数据结构:就是容器原创 2017-04-23 15:05:11 · 381 阅读 · 0 评论 -
Integer对象
Integer对象 数字格式的字符串转成基本数据类型的方法:将该字符串封装成了Integer对象,并调用对象的方法intValue();使用Integer.parseInt(numstring):不用建立对象,直接类名调用;将基本类型转成字符串:Integer中的静态方法 String toString(int);int+”“;将一个十进制整数转成其他进制: 转成二进制:toBina原创 2017-04-23 14:56:42 · 972 阅读 · 1 评论 -
StringBuffer和StringBuilder
–< java.lang >– StringBuffer字符串缓冲区 构造一个其中不带字符的字符串缓冲区,初始容量为 16 个字符。 特点:可以对字符串内容进行修改。是一个容器。是可变长度的。缓冲区中可以存储任意类型的数据。最终需要变成字符串。容器通常具备一些固定的方法:添加。StringBuffer append(data):在缓冲区中追加数据。追加到尾部。StringBuf原创 2017-04-23 14:54:25 · 316 阅读 · 0 评论 -
API
API:(Application Programming Interface,编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。–< java.lang >– String字符串 java中用String类进行描述。对字符串进行了对象的封装。这样的好处是可以对字符串这种常见数据进行方便的操作。对象封装后,原创 2017-04-23 14:50:22 · 369 阅读 · 0 评论 -
Lock接口
Lock接口:多线程在JDK1.5版本升级时,推出一个接口Lock接口。 解决线程安全问题使用同步的形式,(同步代码块,要么同步函数)其实最终使用的都是锁机制。到了后期版本,直接将锁封装成了对象。线程进入同步就是具备了锁,执行完,离开同步,就是释放了锁。 在后期对锁的分析过程中,发现,获取锁,或者释放锁的动作应该是锁这个事物更清楚。所以将这些动作定义在了锁当中,并把锁定义成对象。所以同步是隐示的原创 2017-04-23 14:44:33 · 298 阅读 · 0 评论 -
同步
好处:解决了线程安全问题。 弊端:相对降低性能,因为判断锁需要消耗资源,产生了死锁。 定义同步是有前提的: 1.要有两个或者两个以上的线程,才需要同步。 2.多个线程必须保证使用的是同一个锁。java培训项目实战中,同步的第二种表现形式: 同步函数:其实就是将同步关键字定义在函数上,让函数具备了同步性。同步函数是用的哪个锁呢? 通过验证,函数都有自己所属的对象this,所以同步函数所使用原创 2017-04-23 14:42:31 · 341 阅读 · 0 评论 -
多线程
多线程 进程:正在进行中的程序。其实进程就是一个应用程序运行时的内存分配空间。 线程:其实就是进程中一个程序执行控制单元,一条执行路径。进程负责的是应用程序的空间的标示。线程负责的是应用程序的执行顺序。一个进程至少有一个线程在运行,当一个进程中出现多个线程时,就称这个应用程序是多线程应用程序,每个线程在栈区中都有自己的执行空间,自己的方法区、自己的变量。 jvm在启动的时,首先有一个主线程,负原创 2017-04-22 22:36:22 · 708 阅读 · 0 评论 -
包
包:定义包用package关键字。 1:对类文件进行分类管理。 2:给类文件提供多层名称空间。在java培训实战项目中,如果生成的包不在当前目录下,需要最好执行classpath,将包所在父目录定义到classpath变量中即可。 一般在定义包名时,因为包的出现是为了区分重名的类。所以包名要尽量唯一。怎么保证唯一性呢?可以使用url域名来进行包名称的定义。package pack;//定义了一原创 2017-04-21 22:52:03 · 573 阅读 · 0 评论 -
Map集合
Map集合 |--Hashtable:底层是哈希表数据结构,是线程同步的。不可以存储null键,null值。 |--HashMap:底层是哈希表数据结构,是线程不同步的。可以存储null键,null值。替代了Hashtable. |--TreeMap:底层是二叉树结构,可以对map集合中的键进行指定顺序的排序。Map集合存储和Collection有着很大不同: Collection一次存一个元原创 2017-04-23 15:40:12 · 368 阅读 · 0 评论 -
枚举
枚举:关键字 enum 问题:对象的某个属性的值不能是任意的,必须为固定的一组取值其中的某一个; 解决办法: 1)、在setGrade方法中做判断,不符合格式要求就抛出异常; 2)、直接限定用户的选择,通过自定义类模拟枚举的方式来限定用户的输入,写一个Grade类,私有构造函数,对外提供5个静态的常量表示类的实例; 3)、jdk5中新定义了枚举类型,专门用于解决此类问题; 4)、枚举就是原创 2017-04-23 15:41:18 · 335 阅读 · 0 评论 -
泛型
好处:将运行时期的问题ClassCastException问题转换成了编译失败,体现在编译时期,程序员就可以解决问题。避免了强制转换的麻烦。只要带有<>的类或者接口,都属于带有类型参数的类或者接口,在使用这些类或者接口时,必须给<>中传递一个具体的引用数据类型。泛型技术:其实应用在编译时期,是给编译器使用的技术,到了运行时期,泛型就不存在了。为什么? 因为泛型的擦除:也就是说,编辑器检查了泛型原创 2017-04-23 15:43:18 · 471 阅读 · 0 评论 -
实现HTTP协议
package com.test1;import java.net.InetSocketAddress;import java.nio.channels.SelectionKey;import java.nio.channels.Selector;import java.nio.channels.ServerSocketChannel;import java.util.Iterator;pu原创 2017-08-11 10:40:17 · 310 阅读 · 0 评论 -
Java中NioSocket的用法--Spring MVC
package com.test2;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.SelectionKey;import java.nio.channels.Selector;import java.nio.ch原创 2017-08-11 10:20:40 · 1204 阅读 · 0 评论 -
Java中Socket的用法--Spring MVC
package com.test2;import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;public class Server { public stat原创 2017-08-11 10:17:05 · 4773 阅读 · 0 评论 -
TCP/IP协议--spring MVC
TCP在传输之前会进行三次沟通,一般称为“三次握手”,传完数据断开的时候要进行四次沟通,一般称为“四次挥手”。 这个过程需要理解TCP的两个序号和三个标志位的含义:Seq:sequencenumber的缩写,表示传数据的序号。TCP传输时每一个字节都有一个序号,发送数据时会将数据的第一个序号发送给对方,接收方会按序号检查是否接受完整了,如果没接收完整就需要重新传送,这样就可以保证数据的完整性。原创 2017-08-11 10:08:00 · 3218 阅读 · 0 评论 -
String、StringBuffer、与StringBuilder的区别
看到几篇写的不错的文章,正好不用自己再总结一边,刚好可以再度学习一下 这里写链接内容 这里写链接内容这里写链接内容原创 2017-05-08 21:43:15 · 167 阅读 · 0 评论 -
详解Java中super的几种用法并与this的区别
子类的构造函数如果要引用super的话,必须把super放在函数的首位class Base {Base() {System.out.println("Base");}}public class Checket extends Base {Checket() {super();//调用父类的构造方法,一定要放在方法的首个语句System.out.println("Checket");}转载 2017-05-08 21:30:36 · 412 阅读 · 0 评论 -
StringBuffer 详解
StringBuffer 简介StringBuffer 是一个线程安全的可变的字符序列。它继承于AbstractStringBuilder,实现了CharSequence接口。StringBuilder 也是继承于AbstractStringBuilder的子类;但是,StringBuilder和StringBuffer不同,前者是非线程安全的,后者是线程安全的。Strin转载 2017-05-08 20:27:23 · 1500 阅读 · 0 评论 -
字符、字符串的操作方法集锦
String s="Hello World!"; /*截取字符串*/ String s1=s.substring(2,7); System.out.println("截取的字符串为:"+s1); /*连接字符串*/ String cn="Year"; String s2=cn.concat(s);原创 2017-05-08 20:15:53 · 400 阅读 · 0 评论 -
java基础思维导图
关于Java基础的一些思维导图转载 2017-04-25 22:06:13 · 427 阅读 · 0 评论 -
Java中abstract class 和 interface 的解释和他们的异同点(转)
(一)概述 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的选择显得比较随转载 2017-04-24 17:36:02 · 328 阅读 · 0 评论 -
java.lang.System
API--- java.lang.System: 属性和行为都是静态的。long currentTimeMillis(); // 返回当前时间毫秒值exit(); // 退出虚拟机Properties getProperties() ; // 获取当前系统的属性信息Properties prop = System.getProperties(); //获取系统的属性信息,并将这些信息存储到原创 2017-04-23 15:44:17 · 454 阅读 · 0 评论 -
异常
异 常 异常:就是不正常。程序在运行时出现的不正常情况。其实就是程序中出现的问题。这个问题按照面向对象思想进行描述,并封装成了对象。因为问题的产生有产生的原因、有问题的名称、有问题的描述等多个属性信息存在。当出现多属性信息最方便的方式就是将这些信息进行封装。异常就是java按照面向对象的思想将问题进行对象封装。这样就方便于操作问题以及处理问题。出现的问题有很多种,比如角标越界,空指针等都是。就对这原创 2017-04-21 22:25:46 · 473 阅读 · 0 评论 -
内部类
内部类如果A类需要直接访问B类中的成员,而B类又需要建立A类的对象。这时,为了方便设计和访问,直接将A类定义在B类中。就可以了。A类就称为内部类。内部类可以直接访问外部类中的成员。而外部类想要访问内部类,必须要建立内部类的对象。public class Test3 { int num=4; class Inner{ void show(){ S原创 2017-04-21 22:13:39 · 481 阅读 · 0 评论 -
你所忽略的HashMap
关于HashMap中key和value的理解原创 2017-03-05 16:05:32 · 194 阅读 · 0 评论 -
eclipse如何导入jar包
很多时候我们在做项目的过程中,需要看一些源码,这样更方便我们理解,然后eclipse中并没有自带的,需要我们自己导入,我分享下源码包链接 接下来,就是如何导入了 1、首先新建一个项目,并创建一个包和类,举个例子 2、鼠标移动到HashMap,按Ctrl键,并点击鼠标,就会出现以下情况 3、点击Attach Source,选择你源码包的文件即可原创 2017-03-05 15:42:21 · 232 阅读 · 0 评论 -
集合类(四)
Collection1、常用方法Collection 接口用于表示任何对象或元素组。想要尽可能以常规方式处理一组元素时,就使用这一接口。Collection 在前面的大图也可以看出,它是List和Set 的父类。并且它本身也是一个接口。它定义了作为集合所应该拥有的一些方法。如下:注意:集合必须只有对象,集合中的元素不能是基本数据类型。Collection接口支持如添加和除去等基原创 2016-05-23 16:35:22 · 2883 阅读 · 0 评论 -
集合类(一)
集合类、一、定义所谓的集合类,即为Java中的一种高级数据结构。在Java编程中,常用的集合类和接口有:Vector 、 Emumeration 、 ArrayList 、 Collection、 Iterator、Set 、List等 二、框架 三、Vector 类与Emumeration 接口1、概述(1)、Vector类:是Java语言提供的一种高级数据原创 2016-05-23 15:40:21 · 384 阅读 · 0 评论 -
集合类(三)
一、数组类与容器类 数组和其它容器的区别主要有三方面:效率,类型和保存基本类型的能力.1.数组:是一种效率很高的存储和随机访问对象引用序列的方式.数组是一 个简单的线性序列,因此访问速度很快,但也损失了其它一些特性.创建一个数组对象后,大小就固定了,如果空间不够,通常是再创建一个数组,然后把旧数组中的所有引用移到新数组中.数组可可以保存基本类型,容器不行. 2.转载 2016-05-23 16:08:47 · 259 阅读 · 0 评论 -
集合类(二)
java中ArrayList类的用法1、什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和IList接口 灵活的设置数组的大小2、如何使用ArrayList 最简单的例子: ArrayList List = new转载 2016-05-23 15:57:17 · 242 阅读 · 0 评论 -
Java的字符串
4月19日 目录一、Java字符串类基本概念...1二、创建字符串...1三、连接字符串...11、连接多个字符串...12、连接其他数据类型...1四、获取字符串信息...21、获取字符串长度...22、字符串查找...23、获取指定索引位置的字符...3五、字符串操作...31、获取...32、原创 2016-04-20 23:39:11 · 414 阅读 · 0 评论 -
Java的三大方向介绍
最近有人问我前端,既然这样,我就详细介绍下Java的三大方向,这样学弟学妹们自己选择到底学那个方向一、Java SE 标准本开发/桌面应用程序的开发(例如前端)Java SE允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。Java SE 包含了支持Java Web 服务开发的类,并为Java EE提供基础。 二、Java原创 2016-04-20 20:45:08 · 6723 阅读 · 0 评论 -
JAVA 中的类和对象(1)
类的概念: 类是具有相同属性和行为的一组对象的集合、雷士对象的抽象:类可用Class来定义,类的变量和方法可被称为该类的实例访问,圆点符号用于访问对象的成员对象:对象是存在的具体尸体,具有明确定义的状态和行为,对象是类的实例:封装:隐藏属性、方法或者实现细节的过程称为封装包:包是将类组合在一起形成代码模块的一种机制;包可用package来申明,可用import来导入包原创 2015-10-07 21:02:23 · 419 阅读 · 0 评论 -
Java语言基础1
学习总结目录一、jdk环境变量的搭建...1二、数据类型...1三、类型转换...2四、变量的作用域与生命周期...4五、算数运算符...6七、比较运算符:>,=,.7八、逻辑运算符:&,|,^,!,&&,||.7原创 2016-04-19 23:14:06 · 325 阅读 · 0 评论 -
Java语言基础2
4月16日 目录一、三目运算符...2二、判断语句...22.1 if语句...22.2 if-else语句...32.3 if-else.42.4 switch-case语句...7三、循环...93.1 for循环...93.2 foreach语句...103.3 while与do-whie.103.3原创 2016-04-19 23:12:40 · 345 阅读 · 0 评论 -
Java中的Base64(源码)
BASE64 编码是一种常用的字符编码,在很多地方都会用到。但base64不是安全领域下的加密解密算法。能起到安全作用的效果很差,而且很容易破解,他核心作用应该是传输数据的正确性,有些网关或系统只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法,而且base64特别适合在http,mime协议下快速传输数据。(ps:个人觉得这篇对base64的解释写的原创 2017-03-05 20:08:46 · 1669 阅读 · 0 评论