继承 extends 子类的共性代码都是继承自父类的,每个子类只要写自己特有的代码 class 子类 extends 父类 继承提高了代码的复用性,提供了多态的前提,但是不要为了某个功能去继承 子类不是父类的子集,而是对父类的扩展 规则:子类不能直接访问父类中private的成员变量和方法 只支持单继承,不能多重继承,可以多层继承.子类只能有一个父类 方法的重写override 子类重写父类的方法,只是重新编写方法体代码,如果父类的方法是public ,子类重写时就不能使用缺省以下的修饰符 al…
因为“野味肺炎”的肆虐,过年被迫宅家只能吃了睡.睡了吃.这么下次只能长膘脑子空空,不如趁此机会重新学习java基础,为日后做铺垫~ 循环结构: 几种循环:for(::),while(){},do{}while() switch的break,如果不加,会从当前匹配的开始输出一直到最后输出的 break 用在for 也能跳出循环,只能终止当前所在的for循环 continue 结束当前这次循环 return 跟break一样可以终止循环,但是return是结束整个方法,不管有多少层循环 break和…
可变参数 不知道可能给方法传递多少个参数时使用这个方法 public void printInfo (String[] args) --可以定义一个数组,在调用这个方法适合赋值给一个数组 public void aaa (String... args) --用java特有的...来传递可变个数的参数,在使用时,与数组的使用方式相同 如果使用数组,在调用方法是要用 a.printInfo(null):没有参数就要定义一个空数组或者null,而第二种是可以直接使用a.aaa(); 如果一个方法有多个…
面向对象 面向对象OOP,面向过程POP 面向对象三大特征 封装 继承 多态 类 类由属性(对应类中的成员变量)和行为(成员方法)来构成 类的成员变量可以先声明,不用初始化,有默认值 方法名称如果多个单词,首个单词首字母小写,其余首字母大写,驼峰命名 new一个对象 A a = new A(); 修饰符 private 私有,只能该类以内的方法调用 pubilc 公共,大家都能调用 static 静态 ,这样的变量不需要类实例化成对象就可以使用,通过类名.属性就能使用--类变量 成员变量与局部变…
系列文章: 小白学Docker之基础篇 小白学Docker之Compose 小白学Docker之Swarm PS: 以下是个人作为新手小白学习docker的笔记总结 1. docker是什么 百科上的解释是这样的: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口. 知乎上的很多理解是将其理解成集装箱,彼此之间互相不影响,各自运行在各自的环境…
你所不知道的库存超限做法 在互联网企业中,限购的做法,多种多样,有的别出心裁,有的因循守旧,但是种种做法皆想达到的目的,无外乎几种,商品卖的完,系统抗的住,库存不超限.虽然短短数语,却有着说不完,道不尽,轻者如释重负,重者涕泪横流的架构体验. 但是,在实际开发过程中,库存超限,作为其中最核心的一员,到底该怎么做,如何做才会是最合适的呢? 今天这篇文章,我将会展示给大家库存限购的五种常见的做法,并对其利弊一一探讨,由于这五种做法,有的在设计之初当做提案被否定掉的,有的在线上跑着,但是在没有任何单元…
前言: Java三大基础框架:集合,线程,io基本是开发必用,面试必问的核心内容,今天我们讲讲线程. 想要把线程理解透彻,这需要具备很多方面的知识和经验,本篇主要是关于线程基础包括线程状态和常用方法. 本篇主要从线程常用方法来理解线程各个状态及状态的切换,之后再通过状态于状态之间的切换来加深对线程常用方法的应用于印象. 正题: java中定义了线程的几种状态,在java.lang.Thread.State中,分别为以下6个: NEW(初始化),RUNNABLE(就绪),BLOCKED(阻塞),W…
1.Q:ArrayList 和 LinkedList 有什么区别? A:ArrayList查询快!LinkedList增删快.ArrayList是基于索引的数据接口,它的底层是数组.空间占用相对小一些    LinkedList是链表结构,LinkedList比ArrayList更占内存,因为LinkedList为每一个节点存储了两个引用,一个指向前一个元素,一个指向下一个元素.    对于查询速度,ArrayList觉得优于LinkedList,因为LinkedList要移动指针. 对于插入或…
这是小主第一次写Java连接数据库博客,初学Java之时,Java连接数据库是我最头疼的,不过经过一个月的学习,也差不多略有收获,所以给大家分享一下. Java连接数据库大约需要五大步骤: 创建数据库驱动 使用驱动获取数据库链接 创建传输器 使用传输器执行SQL,并返回结果 处理结果集 关闭资源 Java连接数据库主要使用的包分别是: java.sql      基础包 java.sqlx     扩展包 代码实现: package a.li.ba.ba.select; import java.…
1.”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法? “static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问. Java中static方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而static方法是编译时静态绑定的.static方法跟类的任何实例都不相关,所以概念上不适用. java中也不可以覆盖private的方法,因为private修饰的变量和方法只能在当前类中使用,如果是…
前言   之前的例子中,我们已经编写了一些简单的类.但是,那些类都只包含一个简单的main方法.现在来学习如何编写复杂应用程序所需要的那种主力类.通常这些类没有main方法,却有自己的实例字段和实例方法.要想构建一个完整的程序,会结合使用多个类,其中只有一个类有main方法. 自定义简单的类   在Java中,最简单的类定义形式为: class ClassName { // 字段 field1 field2 ... // 构造方法 constructor1 constructor2 ... //…
前言 我们在之前的学习中提过很多次了,java是面向对象的,java的基础可以说是建立在类和对象上面的.然后我们又学到了类的继承,发现了在java类库中,类的继承是极为普遍的,一个类继承另一个类,就像是一个家族树一样蔓延开来,今天就说一下,这个树的顶端,也就是一切类的开始,Object类.另外在学习下应继承机制而导致对象的两种特性. Object类 Object类是JAVA语言一切类的开始,所有的类都直接或间接的继承自它,当我们定义一个类时,如果不声明继承关系,那么它就默认的继承Object类,…
本文接上文“Class类的使用”,以编写一个用来获取类的信息(成员函数.成员变量.构造函数)的工具类来讲解"反射之获取类的信息" 1.获取成员函数信息 /** * 获取成员函数信息 * @param obj */ public static void printClassMethodMessage(Object obj){ //获取类的信息 获取类的类类型 Class c = obj.getClass(); //获取类的名称 System.out.println("类的名称是…
计算机语言 人与计算机交流的方式. 计算机语言有很多种如:C语言,c++,Java等 人机交互 软件的出现实现了人与计算机之间的更好的交流(交互) 交互方式 图形化界面:便于交互,容易操作,简单直观,使用者容易上手. 命令行:需要一个控制台,需要输入特定指令,让计算机完成操作,同时还需要你记住一些命令. Java语言概述: 1. Java语言是SUN公司(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言. 2. Java语言是一门面向I…
本文主要讲解Spring的基础环境搭建以及演变由来,仅供学习分享使用,如有不足之处,还请指正. 什么是Spring ? Spring是一个开源框架,用来处理业务逻辑层和其他层之间的耦合问题.因此Spring将面向接口开发的思想贯穿整个系统应用,且Spring是一个轻量级框架,所以在诞生之初,便风靡Java开发市场,得到了广泛的认可与响应. Spring基础概念 依赖注入(DI:Dependency Injection)又叫控制反转(IoC:Inversion of Control):将组件对象的…
Linux最基础之<小朋友也能学会Linux>... 1.Linux 知识积累: Linux 英文解释为 Linux is not Unix.学习Linux必须要熟练使用的操作系统是Centos7和RHEL7 Linux内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学读研时出于个人爱好而编写的操作系统. Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统. Linux能运行主要的…
昨天晚上看了编程思想4的持有对象,所以把学到看到的一些记记背背的方面给总结一下. java的容器主要分为两类,一个是实现了接口Collection的一类,还有一个是实现了Map接口的一类. 继承Collction接口的主要有List.Set接口还有Queue.Collection继承了Iterator接口,让实现类可以foreach遍历. 继承List接口的主要是ArrayList和LinkedList. ArrayList的优势在于随机访问,LinkedList的优势则是更好的插入删除,另外L…
上一篇,我们说了一下线程和Map,或许那些太抽象,不太好理解,也不太方便记忆,我们这次说一些简单的. 1.Q:java的基本数据类型有哪些? A:四种整数类型(byte.short.int.long) byte:8 位,用于表示最小数据单位,如文件中数据,-128~127 short:16 位,很少用  -32768 ~ 32767 int:32 位.最常用,-2^31-1~2^31  (21 亿) long:64 位.次常用,long 型数据后面加 L或 l 两种浮点类型(float,doub…
随着服务器的处理能力越来越强,业务需求量的不断累积,越来越多的公司开始从单一服务器,单一业务承载变成了多服务器,多业务承载的快速扩展的过程中.传统的方法很难满足和应付这种业务量的增长和部署方式的改变.所以RESTful service作为一种分布式服务的最佳实践,应运而生. 说到RESTful Service,我们这里首先来明白一下他的基本概念:它是用于创建分布式超文本媒体的一种架构方式,我们可以通过标准的HTTP(GET,POST,PUT,DELETE)操作来构建基于面向资源的软件架构方式(R…
如何安装java环境 http://jingyan.baidu.com/article/a24b33cd59b58e19fe002bb9.html JDK download http://www.oracle.com/technetwork/java/javase/downloads/index.html eclipse安装教程 http://jingyan.baidu.com/article/d7130635194f1513fcf47557.html…
1.在开始多线程之前,我们先来聊聊计算机的缓存 计算机处理一个程序需要cpu处理器与存储设备的交互.但是在计算机发展的过程中,cpu处理器的处理速度不断提高,而存储设备的读写速度却没有得到与cpu同样速度的发展.为了解决这个问题,我们在处理器与存储设备之间加了一层缓存,基本上解决了cpu与存储设备速度的差别.现在的计算机缓存大体上分为三级,L1级缓存,L2级缓存,L3级缓存,其中L1,L2级缓存属于每个cpu独享,L3级缓存属于多个cpu共享.但是这也引发了一个问题,就是对于共享数据操作的一致性…
构造方法 一:概念: 给对象的数据(属性)进行初始化 二:特点: a.方法名与类同名(字母大小写也要一样) b.没有返回值类型 c.没有具体的返回值 return 三:构造方法重载: 方法名相同,与返回值类型无关(因为构造方法没有返回值),只看参数列表 注:如果没有写出构造方法,系统自动提供一个无参的构造方法,如果我们给出了构造方法, 系统不再提供构造方法. class Student{ //下面是构造方法 public Student{ //无参构造方法 } public Person(Str…
数组概述 概念:数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器.数组既可以存储基本数据类型,也可以存储引用数据类型.应用场景:为了存储同种数据类型的多个值 数组定义格式 格式1:元素类型[] 数组名 = new 元素类型[元素个数或数组长度];例:int[] arr = new int[8];格式2:元素类型[] 数组名 = new 元素类型[]{元素,元素,……};例:int []arr = new int[]{3,5,1,7};int []arr ={3,5,7,1}; 数组的…
循环结构 循环结构的分类 for循环,while循环,do...while()循环 for循环 注意事项: a:判断条件语句无论简单还是复杂结果是boolean类型 b:循环体语句如果是一条语句,大括号可以省略:如果是多条语句,大括号不能省略.建议永远不要省略 c:一般来说:有左大括号就没有分号,有分号就没有左大括号 三种循环结构的循环语句的区别 三种循环语句其实都可以完成一样的功能,也就是说可以等价转换,但还是小有区别的: do…while循环至少会执行一次循环体 for循环和while循环只…
逻辑运算符 与(&)(&&),或(||)(|),非(!) &和&&的区别 &:无论&的左边真假,右边都进行运算 &&:当左边是真时,右边才进行运算:左边是假时,右边不进行运算 |和||的区别同上. 位运算符 左移(<<),右移(>>),无符号右移(>>>),与运算(&),或运算(||),异或运算(),反码(~) 左移(<<):就是将左边的操作数在内存中的二进制数据左…
关键字 概述:被Java语言赋予特定含义的单词. 特点:组成关键字的字母全部为小写字母. 标识符 概述:给类,接口,包,方法,常量起名字时的字符序列 组成规则:英文大小写字母,数字,$和— 命名规则. 包名:多单词组成时所有字母都小写. 类名接口名:多单词组成时,所有单词的首字母大写 常量名函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写. 注意事项:不能以数字开头.不能是Java 中的关键字.区分大小写要见名知意,驼峰命名 常量 概述:在程序执行的过程中其值不可以发…
最近想深入的理解一下java 的工作机制,也是便于后期的面试. 1.A:HashMap和Hashtable有什么区别? Q:HashMap和Hashtable都实现了Map接口,因此很多特性非常相似.但是,他们有以下不同点:     HashMap允许键和值是null,而Hashtable不允许键或者值是null.    Hashtable是同步的,而HashMap不是.因此,HashMap更适合于单线程环境,而Hashtable适合于多线程环境.   我们再来剖析一下这个问题,如果你答些,面试…
从键盘输入一位整数,代表月份,编程判断指定月份属于一年中的哪个季度.如果是 12月.1 月.2 月,就属于冬季:如果是 3 月.4 月.5 月,就属于春季:如果是 6 月.7 月.8 月,就属于夏季:如果是 9 月.10 月.11 月,就属于秋季.输入其他数字时提示用户输入不正确. package Exam01; import java.util.Scanner; public class Topic05 { public static void main(String[] args) { //…
编写一个程序,从键盘输入三个整数,求三个整数中的最小值. 关键:声明变量temp   与各数值比较. package Exam01; import java.util.Scanner; public class Topic03 { public static void main(String[] args) { // TODO Auto-generated method stubint a,b,c; //输入 Scanner input = new Scanner(System.in); Sys…
上篇我们主要讲解利用Jersey组件如何来写一个能保证基本运行的Rest Service, 之所以说能够基本运行是因为接口暴露及其简易,一旦遇到其他的情况了,就无法正确的处理我们的请求.同时,这个接口返回内容太简单了,如果调用失败,调用者根本无法准确的知道具体的错误信息.那么这节,我们将完善接口,为调用者提供 400-Bad Request, 500-Server Error, 304-Not Modified, 200-Response OK, 404-Not Found的识别标志,让调用者能…