Java
文章平均质量分 77
L_X_Y_HH
这个作者很懒,什么都没留下…
展开
-
JavaSE——类与对象(2)
一、代码块代码块是使用{}定义的一段代码代码块分为普通代码块、构造块、静态块和同步代码块1.普通代码块定义在方法中的代码块,若方法中代码较长,为避免变量重名,使用普通代码块进行分隔2.构造块定义在类中的代码块(不加修饰符)注:构造块优先于构造方法执行,每产生一个新的对象就调用一次构造块,构造块可以进行简单的逻辑操作3.静态代码块使用static定义的代码块(1)在非主类中的静态代码块 ...原创 2018-04-14 15:00:24 · 260 阅读 · 0 评论 -
Java SE——集合类(集合输出)
集合输出有四种方法:Iterator、ListIterator、Enumeration、foreach1.Iterator——迭代输出只要是Collection接口的子类对象,就一定有个Iterator(),取得Iterator对象用于集合类的输出(1)hasNext():判断是否有下一个元素(2) next():取得当前元素(3)remove():删除元素注:在进行集合输出的时候不要修改集合中元...原创 2018-05-26 15:24:11 · 923 阅读 · 0 评论 -
Java SE——Collection接口与其子接口
一、Collection接口1、Collection的接口定义:public interface Collection<E> extends Iterable<E>2、Collection接口的方法(1)add(E e):向集合中添加数据(2)addAll(Collection <? extends E> c):向集合中添加一组数据(3)clear():清空集合...原创 2018-05-28 14:32:32 · 771 阅读 · 0 评论 -
Java SE——实现多人聊天室
实现功能:1.实现用户注册上线,下线2.实现群聊和私聊功能3.实现统计当前在线人数实现思路:1.首先,要实现服务端与客户端之间的连接这里是使用套接字建立TCP连接:(1)服务器端先实例化一个描述服务器端口号的ServerSocket对象(2)客户端要创建Socket对象来连接指定的服务器端(3)服务器端调用ServerSocket类的accept()方法来监听连...原创 2018-06-09 16:17:51 · 2528 阅读 · 1 评论 -
栈操作编程题
这几天在网上找了几道关于栈大的编程题,在这里总结一下1.请编写一个程序,按升序对栈进行排序(即最大元素位于栈顶),要求最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中。给定一个int[] numbers,其中第一个元素为栈顶,请返回排序后的栈。请注意这是一个栈,意味着排序过程中你只能访问到第一个元素。测试样例:[1,2,3,4,5]返回:[5,4,3,2,1]思路:首先需要...原创 2018-07-09 16:21:41 · 2823 阅读 · 2 评论 -
Spring学习——框架介绍
一、Spring介绍1.Spring是一个开源框架,该框架的结构是分层架构,这是Spring框架的主要优势。2.Spring是以IoC、AOP为主要思想,在Spring框架中,通过配置创建类对象,由Spring在运行阶段实例化、组装对象IoC:Inversion of Control控制反转或反向控制AOP:Aspect Oriented Programming面向切面编程,其思想是在执行某些代码...原创 2018-07-10 17:18:21 · 631 阅读 · 0 评论 -
JavaSE——HashMap与HashTable
HashMap和HashTable都是集合类Map的子类HashMapHashMap是Map集合中最常用的子类1.什么是HashMapHashMap是继承AbstractMap,实现Map接口的一个采用哈希表来实现键值对的集合2.HashMap特点(1)底层实现在jdk1.8之前,底层是通过链表+数组实现在jdk1.8以后底层是通过链表+数组+红黑树实现(2)实现了Map接口的全部方法(3)Has...原创 2018-07-11 16:19:35 · 745 阅读 · 0 评论 -
Java实现二叉树的一些操作
之前写过关于C语言实现二叉树的一些操作这段时间正好在看Java,就将一些常见的二叉树问题转换为Java语言实现1.二叉树的先序、中序、后序、层序遍历(递归与非递归)先序遍历:二叉树的先序遍历顺序为:先打印根节点,再遍历左子树,最后遍历右子树递归思路:若二叉树为空,则直接返回空若二叉树非空,先打印根节点,再先序遍历左子树,再先序遍历右子树import Demo.TreeNode;//递归实现/...原创 2018-07-12 19:59:24 · 803 阅读 · 0 评论 -
JavaSE——关于集合类的一些tips
之前在学校上课时已经学习过关于集合类的一些知识,但是这两天发现对于集合类的一些点还是不太清楚,很多内容很容易混淆在一起,在这里,我将一些我记不太清的点做一些整理集合结构图Java中的集合类都是由Java.util包提供由上图所示,Java集合类中最主要的是两个核心的接口:Collection和Map1 Collection接口:Collection接口有两个子接口,为Set接口和List接口(下...原创 2018-07-13 17:32:46 · 798 阅读 · 0 评论 -
Spring学习——基于XML构建IoC容器
IoC容器的构建方式(1)基于XML配置方式(可以开启注释配置,通过注释配置Bean和装配工作)(2)基于Goovy脚本配置方式(DSL)(3)基于Java Config配置注解方式(通过Configuration和Bean注释)下面将讲解基于XML配置方式来构建IoC容器1 Bean的实例化方法(三种)1.1 构造方法实例化下面这种方法是默认类需要一个无参构造,其中的id是Bean的配置属性...原创 2018-07-14 13:17:57 · 740 阅读 · 0 评论 -
Java——关于在字符串,数组,字符流中寻找只出现一次的问题
面试题50:第一个只出现一次的字符在一个字符串(0 &lt;= 字符串长度 &lt;= 10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置,如果没有则返回-1方法一:将字符串从第一个字符开始往后扫描字符串中的每个字符,若后面的字符串中没有发现重复的字符,那么这个字符就是只出现一次的字符 但该种方法的时间复杂度为O(n^2),因此要想一种更加高效的方法,使用一...原创 2018-07-29 19:07:39 · 1140 阅读 · 0 评论 -
数据结构Java——几种查找方式(顺序查找,二分查找,插值查找,斐波那契查找)
顺序查找使用for循环来依次遍历,实现查找二分查找二分查找,又称为折半查找,查找的效率很高算法思想给定一串有序的序列,以这串序列的中间元素为基准, 若要查找元素 > 中间位置元素,说明要查找元素在序列前半部分 若要查找元素 < 中间位置元素,说明要查找元素在序列后半部分 这样使得每次查找的范围都将减少一半算法优缺点优点:查找的次数较少,查找速度快...原创 2018-08-15 19:31:45 · 1190 阅读 · 0 评论 -
Java——排序(冒泡排序,选择排序、插入排序,快速排序,堆排序)
冒泡排序排序思想就像“冒泡泡”一样,从头开始,两个两个数作比较,将两个数中较大(较小)的数向后移,再比较下面两个数,依次将较大(较小)的数向后移,最终,将一组数中最大(最小)的数,移动到最后面,再从头开始,移下一个数 下面是一个栗子: 要排序数组(升序):{4,2,7,3,1} ———————————— 第一趟(交换四次):第一次:4与2比较,4大于2,交换两个数——{2...原创 2018-08-18 20:25:45 · 2079 阅读 · 0 评论 -
JavaSE——集合类(Properties类)
属性文件(资源文件):*.properties文件,在这种文件里面其内容的保存形式为"key=value",通过ResourceBundle类读取的时候只能读取内容,要想编辑其内容则需要通过Properties类来完成,这个类是专门做属性处理的。Properties是Hashtable的子类Properties类的常用操作方法(1)setProperty(String key, String va...原创 2018-05-26 14:53:48 · 672 阅读 · 0 评论 -
JavaSE——IO(File文件与输入输出流)
一、File文件操作类1.File类的使用java.io.File类是一个普通的类,直接产生实例化对象即可。如果要实例化对象则需要使用到两个构造方法public File(String pathname) public File(String parent, String child),设置父路径和子路径(1)创建一个新文件 createNewFile():返回值为boolean...原创 2018-05-26 11:21:18 · 1224 阅读 · 0 评论 -
JavaSE——数据类型与运算符
一、Java标示符与关键字1.Java注释同C语言,//——单行注释 /* */——多行注释(不推荐使用) /** */——文档注释(在类与方法之上描述类的作用)2.Java标示符Java中变量、常量、函数、语句块的名字称之为Java标示符(1)要求: 1)标示符由字母、数字、_、$组成,不能以数字开头,不能用J...原创 2018-04-09 17:08:14 · 621 阅读 · 0 评论 -
JavaSE——三个特殊的类(String类、Object类、包装类)
一、String类1.String类的两种实例化方法(1)直接赋值String str = "Hello World" ; // str是一个对象,那么"Hello World" 就应该保存在堆内存中System.out.println(str) ;String类的构造方法赋值public String(String str) ;(2)传统方法String str = new String("H...原创 2018-04-15 14:41:07 · 681 阅读 · 0 评论 -
Java SE——程序逻辑控制和方法的定义与使用
一、Java程序结构与逻辑控制Java程序结构:顺序结构、分支结构、循环结构1、分支结构(同C语言)分支结构:进行逻辑判断,当满足某些条件时才能执行某些语句(1)if语句(条件判断)(2)switch语句(多值判断)2.循环结构(同C语言)循环结构:某几行代码被一直重复执行(1)while循环语句(若条件不成立则一次也不执行)(2)do-while循环语句(不管条件成不成立都会执行一次)(3)fo...原创 2018-04-10 20:24:25 · 276 阅读 · 0 评论 -
JavaSE——抽象类与接口
一、抽象类1.抽象类的定义抽象类:只是在普通类的基础上扩充了一些抽象方法,使用abstract关键字定义类,来表示抽象类抽象方法:指只声明而未实现的方法(即没有方法体),所有抽象方法要求使用abstract关键字来定义abstract class Person//抽象类{ private String name; public String getName() {//普通方法 retur...原创 2018-04-17 22:57:22 · 172 阅读 · 0 评论 -
Java SE——数组
一、数组的基本概念1.一维数组的初始化(1)数组的动态初始化:数组首先先开辟内存空间,然后使用索引进行内容的设置方法一:数据类型[] 数组名称=new 数据类型[长度]方法二:分部进行数组的实例化注:数组在使用前一定要进行实例化(一定要new),开辟一块新的空间(2)数组的静态初始化:数组在定义的同时进行设置方法一(完整格式):数据类型[] 数组名称=new 数据类型[] {值,值,...}方法二...原创 2018-04-12 20:50:25 · 230 阅读 · 1 评论 -
Java SE——类与对象(1)
一、面向对象编程1.面向对象编程特点:(1)封装性:所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。简而言之就是,内部操作对外部而言不可见(保护性)(2)继承性:继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。(3)多态性:所谓多态就是指一个类实例的相同方法在不同情形有不同...原创 2018-04-13 17:05:56 · 165 阅读 · 0 评论 -
基于Java实现不带头节点的双向链表的操作
本文主要是基于Java来实现不带头节点的双向链表的一些操作首先要创建一个类Node来描述链表的节点其中data为链表节点的值,prev和next分别是当前节点的前一个节点和后一个节点 private class Node { private Object data; private Node prev; private Node next; private Node(Object...原创 2018-04-20 16:35:08 · 976 阅读 · 0 评论 -
Java SE——泛型
一、JDK1.5以后的一些新特性1.可变参数定义public [static] [final] 返回值 方法名称([参数类型 参数名称][参数类型 ... 参数名称]){}注:如果要传递多类参数,可变参数一定放在最后,并且只能设置一个可变参数//计算任意参数的整数求和public class Test1 { public static void main(String[] args) { ...原创 2018-04-25 18:41:21 · 195 阅读 · 0 评论 -
Java SE——创建线程的四种方式
创建线程的方式有四种:1.继承Thread类2.实现Runnable接口3.实现Callable接口4.使用线程池在这四种方法中,根据《Effective Java》一书中指出优先使用线程池在继承Thread类和实现Runnable接口两种方法中,使用Runnable接口更加推荐(不会有单继承局限的问题)若想要线程最终返回结果,使用实现Callable接口(只有这...原创 2018-04-26 14:47:45 · 609 阅读 · 0 评论 -
JavaSE——多线程同步的两大方式
实现多线程同步有两大方式——synchronized和lock同步是指所有的线程不是一起进入到方法中执行,而是按照顺序一个一个进来的一、synchronized处理同步问题1.同步代码块使用同步代码块必须要设置一个要锁定的对象,一般为this该方法进入到方法中的线程依然可能有多个,但是,进入到代码块中只能有一个线程//使用同步代码块来实现多线程的同步class MyThread implemen...原创 2018-05-05 14:57:13 · 619 阅读 · 0 评论 -
Java SE——反射的五大核心类
一、反射与父类——Class1.取得父类包名称 getPackage()2.取得父类的Class对象 getSuperclass()3.取得实现的所有分类接口 getInterfaces():返回值为数组package Practise;interface IFruit {}interface IMessage{}class CLS implements IFruit,...原创 2018-05-11 17:54:18 · 560 阅读 · 0 评论 -
JavaSE——反射与单级VO操作
希望能对程序做简化,输入字符串"属性名称:属性值|属性名称:属性值|属性名称:属性值|....",就可以将类中的属性设置好。希望通过此程序实现任意的简单Java类的属性设置。所有的操作是通过TestDemo类调用EmpAction类实现的,而EmpAction类的主要作用是在于定位要操作的属性类型。同时该程序应该符合于所有简单的Java类开发形式,因此对于我们的设计而言必须有一个单独的类(Bean...原创 2018-05-12 16:09:26 · 280 阅读 · 0 评论 -
Java——单例设计模式
单例设计模式所谓单例模式,顾名思义,在使用单例设计时,单例对象的类必须保证只用一个实例存在单例模式思路一个类能返回对象的一个引用和一个获得该实例的方法(该方法一定是静态方法,且通常为getInstance()方法)。当调用这个方法的时候,如果类持有的引用不为空就返回这个引用,如果类保持的引用为空就创建该类的实例并将实例的引用赋予该类保持的引用。同时将该类的构造方法定义为私有方法(...原创 2018-08-17 13:51:15 · 698 阅读 · 0 评论