java
文章平均质量分 77
Future_LL
Believe in the future.
展开
-
Java中的上界与下界(? extends/super T)
? 通配符类型<? extends T> 表示类型的上界,? 表示参数化类型的可能是 T 或是 T 的子类 <? super T> 表示类型下界,? 表示参数化类型是此 T 类型的超类型 (父类型),直至 Object上界<? extends T>不能往里存,只能往外取比如,我们现在定义:List<? extends T>首先你...转载 2020-03-04 18:25:44 · 1288 阅读 · 0 评论 -
Java 实现四位数的吸血鬼算法
public class Main { public static void main(String[] args) { int[] startDigit = new int[4]; int[] productDigit = new int[4]; // 可以判断: 两个数只有两位数字,num1和num2代表这两个数 ...转载 2020-01-29 15:13:44 · 252 阅读 · 0 评论 -
JavaScript基础(1)
JavaScript的变量及数据类型问题: 关于JavaScript中的原创 2018-06-19 20:04:56 · 401 阅读 · 0 评论 -
Java设计模式之装饰者设计模式
装饰着设计模式: 功能:将主功能和附加功能相分离; 好处: 1> 使主功能和附加功能可以独立扩展; 2> 降低主功能和附加功能之间的耦合性; 举例: 实现一个手机功能的接口:package org.westos.pattern;//规则public ...原创 2018-06-06 19:04:30 · 195 阅读 · 0 评论 -
JavaScript基础(2)
Array对象: 数组的创建: 创建方式1.1:相当于动态初始化; var arr = new Array(3) ; 创建方式1.2: var arr = new Array() ; //表示0个长度,之后给数组赋值; ...原创 2018-06-26 12:29:49 · 210 阅读 · 0 评论 -
Java基础之动态代理
动态代理: 在程序运行过程中产生的这个对象; 运行特点:在程序的执行过程中,通过一个类Proxy和接口invacationHandler(处理程序)实现动态代理; Proxy类中的方法创建动态代理类对象: public static Object newProxyInstance(ClassLoader loader,Clas...原创 2018-06-06 17:07:03 · 513 阅读 · 0 评论 -
Java基础之反射
什么是反射: 反射就是通过获取class字节码文件对象或者Class的类对象,获取该字节码文件对象中的成员变量,构造方法和成员方法; 反射中的类: Field:简称成员变量; Field 提供有关类或接口的单个字段的信息,以及对它的动态访问权限(反射的字段可能是一个类(静态)字段或实例字段); ...原创 2018-06-06 16:52:47 · 169 阅读 · 0 评论 -
Java设计模式之单例模式
单例模式: 核心思想:某些类的对象在创建的时候,在系统内存始终只有一个对象; 分类: 1> 饿汉式; 简单记:在加载那个类的时候,对象的创建工作就已经完成了; 2> 懒汉式(类似于多线程环境); 简单记:需要...原创 2018-05-31 08:52:47 · 249 阅读 · 0 评论 -
Java基础之面向对象思想设计原则
Java程序设计的主要原则: 1> 单一职责原则:低耦合,高内聚; 耦合性:类与类之间产生的关系; 低耦合:让类和类之间的关系不复杂; 内聚:执行一件事情(功能)的能力; 高内聚:一个类能完成的事情,不要使用多个类一起完成; ...原创 2018-05-30 09:39:38 · 197 阅读 · 0 评论 -
Java设计模式之简单工厂模式
设计一个工厂类: 工厂类提供一些静态方法,间接的去创建具体的对象; 优点: 不需要在创建具体类的对象,而是把创建的工作交给了工厂类来创建; 弊端: 如果有新的对象增加,或者某些对象的创建方式不同,就需要不断的修改工厂类,不利于后期的维护;...原创 2018-05-30 10:44:19 · 254 阅读 · 0 评论 -
Java基础之网络编程(UDP,TCP)
网络编程概述及介绍: 计算机网络:实现资源的共享和传递; 网络编程:实现网络互连的不同计算机上运行的程序间可以进行数据交换; 网络参考模拟图: OSI(开放系统互联)参考模型: TCP/IP参考模型: 应用层 ...原创 2018-06-05 20:09:56 · 198 阅读 · 0 评论 -
Java基础:多线程、并发
Java多线程面试问题 进程和线程之间有什么不同? 答:一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是一个包含了不同的类和程序的单一进程。线程可以被称为轻量级进程。线程需要较少的资源来创建和驻留在进程中,并且可以共享进程中的资源。 多线程编程的好处是什么? 答:在多线程程序中,多个...原创 2019-03-05 13:55:57 · 297 阅读 · 0 评论 -
Java基础:对象、继承、接口、嵌入、异常类、Final关键字、static关键字、String、Calendar
对象的初始化非静态对象的初始化: 在创建对象时,对象所在类的所有成员会首先进行初始化 基本类型:int型,会初始化为 0 如果为对象,这些对象会按顺序初始化 在所有类成员初始化完成后,才调用本类的构造方法创建对象 构造方法的作用就是初始化 静态对象初始化: 程序中主类的静态变量会在 main 方法执行前初始化 不仅第一次创建对象时,类中所有的静态变量都初始化,...原创 2019-03-02 21:21:15 · 258 阅读 · 0 评论 -
HashMap的containsKey方法底层详解
containsKey方法简介用 containsKey(key) 方法来检查 key 是否存在,源码分析 /*** 检查是否包含key* 如果key有对应的节点对象,则返回ture,不关心节点对象的值是否为空*/public boolean containsKey(Object key) { // 调用getNode方法来获取键值对,如果没有找到返回fals...原创 2019-04-08 15:24:20 · 14533 阅读 · 1 评论 -
问题:Java中,char型变量中能不能存储一个中文汉字,为什么?
为什么?char型变量是用来存储Unicode编码的字符的,unicode 编码字符集中包含了汉字,所以,char型变量中当然可以存储汉字。 不过,如果某个特殊的汉字没有被包含在 unicode 编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字。 说明:unicode编码占用两个字节,所以,char类型的变量也是占用两个字节。 package java基础题目; ...原创 2019-03-07 23:30:55 · 3642 阅读 · 4 评论 -
Java实现:生产者-消费者模型
public class text{ private static Integer count = 0; private static final Integer FULL = 10; private static String LOCK = "lock"; public static void main(String[] args) { te...原创 2019-03-11 14:42:37 · 236 阅读 · 0 评论 -
Int 和 Integer
从Java 5开始引入了自动装箱/拆箱机制,使得二者可以相互转换.Java为每个原始类型提供了包装类型: - 原始类型:boolean,char ,byte,short,int,long,float,double-包装类型:Boolean,Character,Byte,Short,Integer,Long,Float,DoubleInt和Integer的区别:Integer 是int...原创 2019-03-10 20:43:48 · 237 阅读 · 0 评论 -
Java基础:集合
集合概括图问题解答List,Set,Map是否继承自Collection接口?【基础】 答:List,Set 是;Map 不是。 你所知道的集合类都有哪些?主要方法?【基础】 答:最常用的集合类是List 和Map。List 的具体实现包括ArrayList 和Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元素列表。List 适用于按数值索引...原创 2019-03-04 17:56:39 · 365 阅读 · 0 评论 -
线程中的死锁、数据库中的锁、避免死锁的算法
死锁描述死锁是指两个以上的线程永远阻塞的情况,这种情况产生至少需要两个以上的线程和两个以上的资源。 系统发生死锁现象不仅浪费大量的系统资源,还会导致整个系统崩溃,带来灾难性后果。 死锁满足的条件: 互斥条件:一个资源每次只能被一个线程使用。 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。 不可剥夺条件:进程已获得的资源,在未使用完之前,不能强行剥夺。 ...原创 2019-03-09 23:02:28 · 683 阅读 · 0 评论 -
Java基础:线程池
什么是线程池? 答:一个线程池管理了一组工作线程,同时它还包括了一个用于放置等待执行的任务的队列。 线程池的作用 答: 减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。 可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为消耗过多的内存,而把服务器累趴下(每个线程需要大约1MB内存,线程开的越多,消耗的内存也就越大,最后死机)。 Java中的...原创 2019-03-09 23:58:27 · 255 阅读 · 0 评论 -
Java基础:设计模式
java的设计模式大体上分为三大类创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。 结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。 行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。设计模式遵循的原则有6...原创 2019-03-09 18:57:52 · 2330 阅读 · 2 评论 -
Java基础:数据库
数据库面试总结 什么是存储过程?有哪些优缺点? 答:存储过程就像是编程语言中的函数一样,封装了我们的代码(PLSQL,T-SQL) 例如: -------------创建名为GetUserAccount的存储过程----------------create Procedure GetUserAccountasselect * from UserA...原创 2019-03-06 23:12:19 · 347 阅读 · 0 评论 -
JavaSE项目:聊天室
聊天室: 分析:/** * 小项目:聊天室步骤分析; * 客户端: * main: * 01> 使用TCP编程,创建客户端的Socket对象; * 02> 创建键盘输入对象,用来输入用户名; * 03> 创建通道内的流对象(输入流,输出流); * 04> 因为有对人聊天,所以需要不断的注册用户(while循环);...原创 2018-06-12 15:01:35 · 705 阅读 · 2 评论 -
I/O流的各种形式
//字节输入流 : FileInputStream("a.txt");//字节输出流 : FileOutputStream("b.txt");//字节缓冲输入流 : BufferedOutputStream(new FileInputStream("b.txt"));//字节缓冲输出流 : BufferedInputStream(new FileInputStream("a.txt")); //字...原创 2018-05-22 17:05:40 · 740 阅读 · 0 评论 -
Java基础之输入/输出流,File类
流: 流的概念:流是一组有序的数据序列,根据操作的类型,可分为输入流和输出流 I/O(Input/Output)流提供类一条通道程序,可以使用这条通道...原创 2018-05-15 18:47:12 · 4080 阅读 · 0 评论 -
Java基础之几种常用的类(Arrays,Calendar,System,Date,Math,random,patten,ObjectArray)
Arrays: 对象数组:存储对象的一个数组; 举例:Student[] student = new Student[5] ; Arrays:针对数组操作的工具类 (提供了一些针对数组排序和二分搜索法): public static String toString(int[] a):可以将int类型的数组转换...原创 2018-05-02 00:11:10 · 265 阅读 · 0 评论 -
Java基础之运算符、键盘输入以及流程控制语句
比较运算符: >,>=,<,<=,== 注意事项:== 不能写成 =(=是赋值运算符);赋值运算符: 基本的赋值运算符: = 举例:int a=10 ; 将10赋值给int类型的变量a; 扩展运算符: +=,-=,*=,/=,%=; ...原创 2018-04-07 14:00:25 · 252 阅读 · 0 评论 -
java基础之注释、标识符、数据类型分类以及变量常量
注释: 三种注释://(单行注释) /*书写注释的文字*/(多行注释) /**注释的文字*/(文档注释);标识符: java中的标识符:给类,接口,方法包(package)等起名字的字符序列; 标识符的组成: 1>英文的字母大小写; 2>数字字符; 3>$和...原创 2018-04-07 13:00:27 · 183 阅读 · 0 评论 -
Java基础之抽象类、接口以及内部类
抽象类: 抽象类的概念: 针对一个事物,比如:动物类---->总体概括,之前定一个具体的动物(---->必须给他的某个功能只是声明即可),只有 猫或者狗等等这些才是具体事物; Java中,如果一个类中有一个方法声明 (抽象方法) 抽象功能,那么这个类定义为抽象类; 关键字:abstract 抽象的意思; 抽象类的特...原创 2018-04-17 23:34:54 · 251 阅读 · 0 评论 -
Java基础之多态
多态:在同一个时刻体现出来的不同状态; 多态的前提: 1) 必须有继承关系; 子类继承父类,存在一些特点; 2) 必须有方法重写; 子类继承父类,方法重写的目的,举例:动物吃的方法,每一个具体动物吃的东西不一样,所有必须要方法覆盖; 3) 就是必须有父类的引用指向子类对象 ==> (向上转型); 父类名 fu = new 子类名(...原创 2018-04-16 16:51:43 · 179 阅读 · 0 评论 -
Java基础之继承
继承: 将多个类抽取位一个独立的类,让独立的类和多个类产生继承关系; 继承的关键字:extends 格式: class 子类名 extends 父类名 { ... } 继承的好处: 1)提供了代码复用性,解决了代码的臃肿; 2)它是多态的前提(多态的前提是必须有继承关系); 继承的特点: 子类继承父类,是继承...原创 2018-04-16 11:03:16 · 192 阅读 · 0 评论 -
Java基础之面向对象相关知识点
成员方法: 类的组成中有一个成员:成员方法 成员方法的分类: 1)按照返回值划分: void的形式:没有具体的返回值; 非void形式:有具体返回值; 2)按照参数进行划分: 无参; 有参; 举例://创建一个学生类class Student { private String name ; private Str...原创 2018-04-10 00:22:16 · 234 阅读 · 0 评论 -
Java基础之代码块、final关键字以及方法重写
代码块: 代码块的概述: 用 { } 括起来的代码,统称为代码; 根据其位置以及声明不同: 分为以下: 局部代码块:在main( )里面,给变量限定它的生命周期; 构造代码块:在一个类中的成员位置中,用 { } 括起来; 作用:可以将多个构造方法中的相同的代码放到构造代码块中,对对象...原创 2018-04-15 00:04:26 · 333 阅读 · 0 评论 -
Java基础之二维数组
二维数组: 二维数组格式: ①数据类型[][] 数组名 = new 数据类型[m][n] ; m:代表当前二维数组中有多少个一维数组; n:代表每一个一维数组中的长度; ②数据类型[][] 数组名 = new 数据类型[m][] ; 只给定有m个一维数组,每一个一维数组长度动态给定; ③静态初...原创 2018-04-14 19:52:34 · 288 阅读 · 0 评论 -
Java基础之方法、数组、面向对象
方法:完成特定功能的代码块; 方法的格式:public static 返回值 方法名(参数类型1 变量1,参数类型2 变量名){ return ...} 方法的解释:public static:方法是静态的,并且是公共的方法 (今天写方法,public static);返回值(数据类型): 根据具体的需求,返回什么类型,用什么样的数据类型结束;方法名:给当...原创 2018-04-08 17:13:53 · 323 阅读 · 0 评论 -
Java基础之Object超类,Scanner类以及String的相关应用
Object 超类:是类层次结构的根类.每个类都使用 Object 作为超类(父类); ----> 任何类都可以继承超类Object; 举例:package org.wesots_01;//定义学生类继承类超类;public class Student extends Object{ //Object中的toString方法;...原创 2018-04-23 21:45:20 · 243 阅读 · 0 评论 -
Java基础之StringBuffer,Integer,Character以及几种简单的排序、查找方法
StringBuffer:表示线程安全的可变字符序列; 线程的安全问题:线程安全 ==> 是同步的 ==> 但是执行效率低 ==> 银行系统,医疗平台; 线程不安全 ==> 是不同步的 ==> 但是执行效率高 ==> 新闻网站,论坛; 面试题: ...原创 2018-04-25 22:04:26 · 297 阅读 · 0 评论 -
Java基础之Collection集合
集合的简单介绍: 集合的由来:Java是面向对象的语言,面向对象语言对事物的描述是通过对象体现的,但是要存储对个对象,不能使用基本类型的变量,需要的是容器类型的变量,我们学过的右数组,String,以及StringBuffer,但是String以及StringBuffer始终存储的是字符串类型,不能满足要求,而数组的长度是固定的不符合长度编号的要求,所以Java提供了一个Collec...原创 2018-05-03 01:15:35 · 311 阅读 · 0 评论 -
Java基础之Set以及它的子类
Set集合: Set集合和List集合的区别? Set集合:不允许元素重复,唯一的(元素可以为null) ,不能保证迭代的顺序恒久不变(底层哈希表和hascode)也就是:无序(存储和取出不一致); List集合:允许元素重复,并且存储特点:有序性(存储和取出一致; Set集合保证唯一性的原因: HashSet集合的add方法底层依赖于...原创 2018-05-08 23:00:15 · 407 阅读 · 0 评论 -
Java基础之多线程
多线程: JVM:Java虚拟机识别main(主线程); 特点: 1> jvm是多线程的; 2> 有主线程,main..执行这些代码,能够被Jvm识别; 3> 在执行一些程序的时候,一些对象Jvm释放...原创 2018-05-22 01:42:44 · 208 阅读 · 0 评论