
JavaSE基础
文章平均质量分 73
Luna_ll
这个作者很懒,什么都没留下…
展开
-
java开发环境搭建
一.jdk的下载安装1.jdk的下载首先去oracle官网下载JDK,网址为http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html选择红色箭头所指的,表示接受许可协议,根据自己电脑的系统选择不同的JDK版本。2.安装JDK下载完成后原创 2017-09-27 16:03:25 · 343 阅读 · 0 评论 -
多线程
1.进程正在运行的程序就是一个进程(任务管理器),进程是系统分配资源调用的一个独立单位多进程现在计算机是一个多进程计算机,即在做一件事时还可以做另一件事。可以提高CPU的使用率2.线程线程依赖于进程而存在,一个线程相当于进程中的某个任务。多线程一个进程开启多个任务,每一个任务(线程),他们在抢占CPU的执行权,线程的执行具有随机性。3.并发(concurrenc原创 2017-12-08 11:28:07 · 306 阅读 · 0 评论 -
Lock-线程组-线程池-线程状态的转换图
一.Lock(接口)1.使用同步机制的方式解决线程安全问题,但是不知道具体的锁对象在哪里添加,并且锁对象在哪里释放锁对象,对于这种情况,jdk5以后java提供了一个更具体的锁对象Lock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定操作Lock是一个接口,所以它在使用时用 ReentrantLock子实现类2.加锁和释放锁的方法:pu原创 2017-12-08 16:42:50 · 419 阅读 · 0 评论 -
ArrayList-Vector-LinkedList-泛型-增强for
一.List集合的子实现类特点1.ArrayList:底层数据结构是数组的形式,满足数组结构的特点:查询快,增删慢 从线程安全问题来看:线程是不安全的,不同步,执行效率高。2.Vector:底层数据结构是数组的形式,查询快,增删慢。 从线程安全角度看:线程安全的一个类,同步,执行效率低3.LinkedList:底层数据结构是链接列表,特点:查询慢原创 2017-11-16 11:07:40 · 333 阅读 · 0 评论 -
Set-TreeSet-HashSet-LinkedHashSet
一.Set1.Set集合继承自Collection集合,底层数据结构是一个哈希表,能保证元素是唯一的,元素不重复!它通过它的子实现类HashSet集合去实例化,HashSet集合底层是HashMap集合的实例!package day_15_11_12.set;import java.util.HashSet;import java.util.Set;public class Se原创 2017-11-16 21:44:44 · 216 阅读 · 0 评论 -
Map-HashMap-TreeMap-LinkedHashMA
一.Map集合1.概念:表示键值对应关系的数据,提供key到value的映射。Map中不能包含有相同的key,每个key只能映射一个value,当相同的key对应多个value时,后面的value会把前面的覆盖。Map集合包括Map接口以及Map接口的所有实现类。2.子实现类:根接口Map,主要的实现类包括:HashMap、TreeMap、LinkedHashMap、Hashtable.重原创 2017-11-22 16:14:15 · 458 阅读 · 0 评论 -
异常类-File类-IO流
一.异常类1.Throwable的两个子类:Error和Exception2.Exception类的分类:1).编译时期异常:只要不是RuntimeException中的异常都属于编译时期异常,比如:IOException(IO流中的),ParseException(解析异常)2)运行时期异常:RuntimeException:可能由于我们代码的逻辑不够严谨导致的,例如:NullP原创 2017-11-23 21:22:46 · 338 阅读 · 0 评论 -
java网络编程
一.网络基础知识1.OSI(Open System Interconnection)七层模型和TCP/IP协议2.七层模型与协议之间的对应关系3.网络编程三要素:1)IP地址:每台电脑都有唯一的标识:ip常用的IP A类:1网络+3主机 可连接主机个数 2563 通常大学里面或一些政府部门(1-127)B类:2网络+2主机 可连接主机个数 2原创 2017-12-13 10:28:44 · 484 阅读 · 0 评论 -
java反射机制
一.反射的概念及作用1.概念:通过Java反射机制,可以访问程序中已加载到JVM中的Java对象的描述,实现访问、检测和修改描述Java对象本身信息的功能。在java.lang.reflect包中提供了对该功能的支持。2.作用:1.反编译:.class-->.java 2.通过反射机制访问java对象的属性,方法,构造方法等;3.sun为我们提供了原创 2017-12-14 19:30:51 · 298 阅读 · 0 评论 -
java设计模式
一.设计模式1.设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。2.设计模式的分类:1)创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式(Singleton)、建造者模式(Builder)、原型模式(Prototype)。 2)结构型模式,共七种原创 2017-12-28 16:38:31 · 246 阅读 · 0 评论 -
关于Random r = new Random(47)中47的意思
今天看Java编程思想的时候看到了一段这样的代码: Random r = new Random(47); int a = r.nextInt(26); System.out.println(a);123刚开始没注意那个47,以为是随机一个47以内的数,但是看到后面在nextInt(26)里面还有个26,一想26应该才是随机数的范围,那这个47是什么呢?然后看源码,看不懂。。。...转载 2018-04-13 16:51:58 · 562 阅读 · 0 评论 -
JAVA中Random类的Random r=new Random()和Random r=new Random(seedValue)的区别
区别在于: Random r=new Random():每次运行程序时seedValue不一样,得到的随机数序列不一样,一般会这么用Random r=new Random(seedValue): :每次运行程序得到的随机数序列都是一样的。例如第一次运行程序得到的随机数是 2, 4, 1, 5, 7。那么重启程序,再次得到的随机数还是2, 4, 1, 5, 7原因:Random产生的随机数实际上属于...转载 2018-04-13 16:53:30 · 2724 阅读 · 0 评论 -
equals与==的区别
java中的数据类型,可分为两类:1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean,他们之间的比较,应用双等号(==),比较的是他们的值。2.复合数据类型(类) 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为...转载 2018-08-12 21:42:08 · 142 阅读 · 0 评论 -
字符串反转的几种方法
1.递归实现 public static String reverse(String original){ if(original==null|| original.length()<=1) return original; return reverse(original.substring(1))+original.cha...原创 2018-08-13 18:11:55 · 873 阅读 · 0 评论 -
Java多线程总结
前言Java 给多线程编程提供了内置的支持。 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。进程:一个进程包括由操作系统分配的内存空间,包含一个或多个线程。一个线程不能独立的存在,它必须是进程的一部分。一个进程一直运行,直到所有的非守护线程都结束运行后才能结束。多线程能满足程序员编写高效率的程序来达到充分利用 CPU 的目的。并行...原创 2018-08-19 16:12:39 · 262 阅读 · 0 评论 -
同步代码块与同步函数
(1)同步代码块:位置比较灵活,锁对象可以任意对象,但必须是同一对象。格式: synchronized(对象) { //任意对象都可以。这个对象就是锁。 需要被同步的代码; } (2)同步函数:声明方法时加synchronized关键字,同步函数使用的锁...原创 2018-08-19 17:07:33 · 417 阅读 · 0 评论 -
Java的反射机制
一.何为反射:反射就是动态加载对象,并对对象进行剖析。在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法,这种动态获取信息以及动态调用对象方法的功能成为Java反射机制。二.获得一个类的类对象有哪些方式?(1)Class.forName(classname):用于做类加载//根据给定的类名来获得,用于类加载String ...原创 2018-08-23 15:39:53 · 503 阅读 · 0 评论 -
封装-this-static
二.封装1.概念:隐藏对象的属性和细节,仅对外提供公共的方法进行访问。2.private:a.当类的成员变量使用private进行修饰,那么就不可以直接访问到该成员变量。b.当使用private修饰的成员变量或者成员方法,仅能在本类中使用。c.private对于main方法的修饰,也是可以产生作用的。原创 2017-10-17 09:35:40 · 244 阅读 · 0 评论 -
Interger类-Character类
练习:键盘录入一个字符串,统计该字符串中大写字母字符,小写字母字符,数字字符有多少个(不考虑其他字符,使用Character提供的判断功能去完成)原创 2017-11-02 14:41:23 · 390 阅读 · 0 评论 -
java的执行过程
1.java程序的执行过程:a. *.java 源文件 : bin\ 目录下 javac.exe 去进行编译b. 编译之后产生*.class字节码.c. bin\目录下 java.exe 执行*.class. 执行 java.exe之后, 会帮我们把字节码文件加载到 JVM 运行.2.JVM(Java Virtual Machine)java为什么可以跨平台原创 2017-09-27 17:11:10 · 262 阅读 · 0 评论 -
java数据类型
一.java基本数据类型(四类8种):1.整型:byte(1字节)、short(2字节)、int(4字节)、long(8字节)2.浮点型:float(4字节)、double(8字节)3.字符型:char(2字节)4.布尔型:boolean 引用类型:类(class)、接口(interface)、数组(arry[ ])二:标识符给包,类名,接口,方法,变量起名...原创 2017-09-27 17:29:35 · 255 阅读 · 0 评论 -
习题-2
一.1. 定义一个工具类其中提供了对于整形数组和double类型数组的一些工具方法。方法分别有:1.求数组值的和.2.求数组中的最大值3.对数组进行升序排序.4.对数组进行倒序排序(也就是反转数组)工具类要求:a.私有化构造方法b.不希望被继承package homework;import java.util.*;public class原创 2017-10-17 20:28:59 · 353 阅读 · 0 评论 -
java三大流程控制
一.顺序控制依次执行代码。二.条件控制1.if语句语法结构:if(条件){//实现我们的逻辑}import java.util.Scanner;public class If { public static void main(String[] args) { int bonus =500; Scanner input = new Scanner(Sys原创 2017-10-10 16:00:21 · 1254 阅读 · 0 评论 -
java-数组
一.数组1.数组定义: 用来一次性保存多个相同类型元素的这样一种数据结构.2.维度上分:一维数组,多维数组原创 2017-10-10 19:35:34 · 236 阅读 · 0 评论 -
形式参数-返回值-内部类-匿名内部类
二.形式参数和返回值形参1.基本数据类型:你要什么数据类型,实际传参的时候就传什么数据类型,形式参数的改变对实际参数没有影响(String是引用类型,但和基本类型的效果一样String s = "luo")。原创 2017-10-24 14:21:21 · 1592 阅读 · 0 评论 -
java--类、继承、方法
一.变量的作用域:成员变量:即类的属性局部变量:方法中定义的变量或者是方法的形式参数对java语言来说,作用域控制是通过块来控制的。块的概念:一对{ }包裹,该代码片段就称为一块。对于某个块内定义的变量:a.对于当前的块,不能再定义同名的变量,即使类型不同也不行。b.对于当前的块,定义了某个变量,在块外不能够访问到块中定义的变量如果存在块的嵌原创 2017-10-10 20:53:24 · 501 阅读 · 0 评论 -
习题-1
/* 1.考试成绩已经保存在数组scores中,依次为 89,23,64,91,119,52,73,-23 要求根据通过自定义方法来找出其中前三名,将数组成绩作为参数传入 要求判断成绩的有效性(0-100),如果成绩无效,则忽略此成绩. */public class TestScore { int [] scores ; public static void main(Str原创 2017-10-11 22:31:49 · 577 阅读 · 0 评论 -
选择排序-二分查找-Arrays-System-BigDecimal-BigInteger-Date-Calendar-Math
一.选择排序1.思想:从0索引开始,用它对应的元素依次和后面索引对应的元素进行比较,小的往前放,第一次比较完毕,最小值出现在了最小索引处,依次这样比较,就可以得到一个从小到达排好序的数组。package day_12_11_6.sort;public class SelectSort { public static void main(String[] args) { //原创 2017-11-06 11:30:13 · 336 阅读 · 0 评论 -
多态-抽象类-接口
一.多态1.概念:一个事物在不同时刻体现出来的不同状态2.多态的三个前提条件(缺一不可)1)必须有继承关系 2)必须有重写(子类出现了父类一样的方法声明) 3)有父类引用指向子类对象(向上转型):Fu f = new Zi()3.成员访问特点:原创 2017-10-27 21:36:14 · 395 阅读 · 0 评论 -
常用类-Object
一.Object类类object是类层次结构的根类。每个类都使用Object作为超类(父类)。所有对象(包括数组)都实现这个类的方法。原创 2017-10-31 14:17:19 · 328 阅读 · 0 评论 -
正则表达式-Collection-List
一.正则表达式1.字符类型:X任意的字符\\反斜线字符,在代码中写正则表达式,"\"---->"\\"表示\t制表符('\u0009')\n新行(换行)符(‘\u00A’)\r回车符('\u0001')2.字符类[abc] a、b 或 c(简单类)原创 2017-11-09 21:10:04 · 415 阅读 · 0 评论 -
String类常用方法
练习:使用键盘录入一个字符串:统计该字符串中大写字母字符,小写字母字符,数字字符,及其他字符出现的次数。二.String类常用的构造方法1)String():表示一个空字符序列。2)public String(byte[] bytes,Charset ch):默认字符集(编码格式):GBK,如果是GBK格式,可以不写第二个参数3)public原创 2017-10-31 20:39:45 · 402 阅读 · 0 评论 -
String类常用方法(补充)
练习:键盘录入一个字符串,将该字符串的第一个字母转换成小写,其余的字母字符转换成大写(不考虑其他的字母字符)分析:1.创建键盘录入对象,录入一个字符串 2.截取:substring(int begin,int end) 3.将上面获取的字符串转换小写 4.在截取刚才录入的这个字符串,substring(int begin):从指定位置截取到末尾,返回一个新的字符串 5.将的得到新的字符串---->转换大写 6.将3和5,使用concat()拼接:字符串拼接方法原创 2017-11-01 16:21:05 · 2448 阅读 · 0 评论 -
继承-final-代码块
一.代码块概念:使用{ }括起来的代码,称为代码块。分类:根据它位置和声明的不同,我们可以将代码块分为局部代码块,构造代码块,静态代码块,同步代码块(多线程涉及)。a.局部代码块限定了变量的生命周期,变量在局部代码块中定义的,那么出了局部代码块之后,就访问不到了。在局部代码块中定义的变量,在出了代码块之后,内存就会释放掉。作用:主要就是节约内存。原创 2017-10-16 08:48:56 · 347 阅读 · 0 评论 -
StringBuffer类
一.StringBuffer1.StringBuffer:线程安全的可变字符序列。特点:线程安全----->不同步----->执行效率高,在开发中,线程不安全会造成死锁的现象eg:银行的网站、医院的平台线程(相对于进程而言)后续补充!面试题:StringBuffer和String 的区别?StringBuffer会构造一个字符串缓冲区,从内存角度考虑,一般情况使用Strin原创 2017-11-01 19:20:54 · 418 阅读 · 0 评论 -
Java本地方法详解
http://blog.sina.com.cn/s/blog_5b9b4abe01016zw0.htmlhttps://blog.youkuaiyun.com/lansine2005/article/details/5753741前言:JAVA中有两种方法:JAVA方法和本地方法JAVA方法是由JAVA编写的,编译成字节码,存储在class文件中本地方法是由其它语言编写的,编译成和处理器相...转载 2019-01-15 11:24:46 · 322 阅读 · 0 评论