OOP,是java语言的特性.面向对象思想贯穿整个java开发. 那什么是面向对象呢?什么是对象? 在面向对象设计语言看来,万事万物都为对象.生活中的一个物体,有自己的属性,有自己的活动.比如一辆汽车,有轮胎,有座椅等等,也可以加速,减速.这在OOP中就是属性和方法.通过编程,将一个个的对象联系起来,通过方法来相互之间传递消息,这样就构成了一套程序. 每个对象,都有自己的类型,比如说宝马车,它的“类”可以为汽车.物体都属于一个大类.因此如果在一特定的类下面,所有的对象都能接受到同样的消息.换句话…
硬盘和内存的作用是什么 硬盘的作用毫无疑问我们大家都清楚,不就是用来存储数据文件的么?如照片.视频.各种文档或等等,肯定也有你喜欢的某位岛国老师的动作片,这个时候无论我们电脑是否关机重启它们永远在那里,不会无辜地消失掉.那内存是用来做什么的呢?我是不能准确的描述出来,所以我抄袭了下面描述内存作用的一段话: 内存就是暂时存储程序以及数据的地方,比如当我们在使用 WPS 处理文稿时,当你在键盘上敲入字符时,它就被存入内存中,当你选择存盘时,内存中的数据才会被存入硬(磁)盘. 为什么这么做? 由于硬盘…
从上一篇开始说起 上一篇从零开始学 Java - Spring 集成 ActiveMQ 配置(一)文章中讲了我关于消息队列的思考过程,现在这一篇会讲到 ActivMQ 与 Spring 框架的整合配置,以及我们的多队列配置.断线重连机制,当然还有的生产者及消费监听者的具体代码实现. ActiveMQ 是 Apache 出品,最流行的.能力强劲的开源消息总线.ActiveMQ 是一个完全支持 JMS1.1 和 J2EE 1.4 规范的 JMS Provider 实现,可以很容易内嵌到使用Sprin…
可以先看Java NIO的整体介绍,这篇接着说以下内容,<快学Java NIO>续篇 FileChannel SocketChannel ServerSocketChannel Java NIO DatagramChannel Pipe Java NIO Tutorial 地址:http://tutorials.jenkov.com/java-nio/index.html Java NIO系列教程译文地址:http://ifeve.com/java-nio-all/ 以下是我拜读过程中摘抄的部…
Java NIO Tutorial 地址:http://tutorials.jenkov.com/java-nio/index.html Java NIO系列教程译文地址:http://ifeve.com/java-nio-all/ 以下是我拜读过程中摘抄的部分内容,并且加了一些内容.笔记,姑且叫<快学Java NIO>,方便以后再翻阅学习 附上一个Java NIO实现的demo,多人网络聊天室 Java NIO 由以下几个核心部分组成: Channels Buffers Selectors…
. . . . . 目录 (一)一起学 Java Collections Framework 源码之 概述(未完成) (二)一起学 Java Collections Framework 源码之 AbstractCollection java.util.AbstractCollection 类提供了 java.util.Collection 接口的骨干实现,也是 Java 集合框架(JCF, Java Collections Framework)中列表(List/Set)族相对较为顶层的实现类,这…
前言 只有光头才能变强 提前预警:本文适合Java新手阅读(老手可在评论区给下建议),希望大家看完能有所收获. 一.为什么我要写下这篇文章 1.1直接缘由: 在今天(2018年11月4日)有个同学给我发微信找我 同学:能不能给他一个网页他改一下,他想参考一下,然后用于做毕业设计. 3y:可以啊,你的题目是什么啊?想用Java来写吗? 同学:对啊,我现在在学Java呢(ps:之前跟该同学聊天的时候"我看着这些代码就头晕,我对电脑真不感兴趣"....真香!) 随后这个同学发了一个小视频过来…
1.java.lang.NullPointerException(经常报)(运行时异常) 属于运行时异常,是编译器无法预知的异常,比如你定义了一个引用变量String a,但是你确没有用new关键字去实例化这个变量, 但是你又调用这个a的方法,所以会报这个空指针异常  解决办法有两种 一,在调用这个变量是判断先if(null!=a) 二,try..catch捕获异常可以让程序继续执行 2.java.lang.ClassCastException(转换错误) 3.java.lang.Arithme…
今天老师讲了JAVA数组,之前学C#的时候就学过一维数组,至于二维数组当时只是粗略普及了一下. 现在想学JAVA又学到了数组,但是这次不同,注重讲二维数组,因为老师知道我们都了解一维数组了. 所以现在开始一维数组: 一维数组定义:int a[]=new int[5]; 或 ————>int[] a=new int[5] //这里的5是数组的长度,表示可以存5个int类型的对象.定义的类型是int的数组只能存int的对象,string类型只能存string类型的对象,其他雷同. 数组赋值: 1.初…
前言:最近在学多线程,写“哲学家就餐问题(Dining Philosophers)”的时候,需要定义一个全局的变量,即哲学家的人数.常用的做法是在其中一个类中定义一个static final的变量,然后让其他类通过类名访问他.在这里,想使用之前实训项目的第一版应用层协议的设计想法,即使用一个接口类来定义所有子类都会使用到的变量.然后,就引出了一个interface成员变量和static final的问题. (一)一个简单的问题 首先,看一段代码: //Variable.java public i…
不知不觉从初学Java到现在已经8年了,今天在这里给刚入门和入门不久的小伙伴们一些建议.可能总结的不是很详细,但给出了一个大概的学习路线.希望对大家有帮助哈~ 如何快速学Java 这里我以Java EE(Jakarta EE)/Java Web的经验来说哦.(都把你们看做是零基础入门的了) 学习Java EE(Jakarta EE)总体来说会有以下三大模块: Java 数据库 Web前端 在我看来,无论学习什么技术都好,在学习该项技术的细节之前都得知道:这项技术是什么,为什么我要学习这项技术,学…
想转行学Java,却又担心自己半路出家成不了大牛 很多人看好Java编程的高薪前景,在自己职业生涯迷茫的时候,想转行学Java,却又担心自己半路出家成不了大牛,赚不到钱,本文就为大家分析一下,转行学Java有没有可能成为高手. 1.如果你没有去做,是不会知道自己能不能成为大牛的. 2.学习是一辈子的事情,哪里来的半路出家?25岁学编程,35岁的时候你就是有10年编程经验的人. 3.在互联网时代,随处可见的秘籍太多,而诚心修炼的人太少,和是不是科班出身没太多关系,有的人4个月培训就干掉人家2年的工…
00.故事的起源 “二哥,要不我上大学的时候也学习编程吧?”有一天,三妹突发奇想地问我. “你确定要做一名程序媛吗?” “我觉得女生做程序员,有着天大的优势,尤其是我这种长相甜美的.”三妹开始认真了起来. “好像是啊,遇到女生提问,我好像一直蛮热情的.” “二哥,你不是爱好写作嘛,还是一个 Java 程序员,不妨写个专栏,名字就叫<教妹学 Java>.我高考完就开始跟着你学习编程,还能省下一笔培训费.”三妹看起来已经替我筹划好了呀. “真的很服气你们零零后,蛮有想法的.刚好我最近在写 Java…
00.故事的起源 “二哥,上一篇<泛型>的反响效果怎么样啊?”三妹对她提议的<教妹学 Java>专栏很是关心. “有人评论说,‘二哥你敲代码都敲出幻想了啊.’” “呵呵,这句话充斥着满满的讽刺意味啊.”三妹有点难过了起来. “不过,也有人评论说,‘建议这个系列的文章多写啊,因为我花了半个月都没看懂< Java 编程思想>中关于泛型的讲解,但再看完这篇文章后终于融会贯通了,比心.’” “二哥,你能不能先说好消息啊?真是的.我也要给这位暖心的读者比心了.”三妹说完这句话就在…
诞生至今已有20年的Java,现在依然有很多人使用.回顾过去十五年的成果,Java一直是数一数二的.Java已经成为世界范围内应用最为广泛的编程语言之一.那么在学java的时候你知道到底要学什么吗?一度荣老师为大家整理java学习的十大目标,供你参考: 1.你需要精通面向对象分析与设计(OOA/OOD).涉及模式(GOF,J2EEDP)以及综合模式.你应该十分了解UML,尤其是class,object,interaction以及statediagrams. 2.你需要学习JAVA语言的基础知识以…
学Java,掌握一些基本的概念是第一步,本文简单为大家介绍一些扫盲级别的内容,希望帮助小白快速入门. 一.基本概念 JVM:java虚拟机,负责将编译产生的字节码转换为特定机器代码,实现一次编译多处执行: JRE:java运行时环境,包含了java虚拟机jvm,java基础类库.是使用java语言编写的程序运行所需要的软件环境: JDK:java开发工具包,是编写java程序所需的开发工具.JDK包含了JRE,同时还包含了编译器javac,调试和分析工具,JavaDoc. 二.Java是如何编译…
阿里极客公益活动: 或许你挑灯夜战只为一道难题 或许你百思不解只求一个答案 或许你绞尽脑汁只因一种未知 那么他们来了,阿里系技术专家来云栖问答为你解答技术难题了 他们用户自己手中的技术来帮助用户成长 本次活动特邀百位阿里技术专家对Java常见问题进行了集中解答,在短短3天时间专家回答了1460道Java问题 如何学习Java 作为一个java学习者,重复写轮子是否必要 https://yq.aliyun.com/ask/48209自学三个月java能到什么程度 https://yq.aliyun…
一 前言 本节内容将会提到方法重载,对象的初始化,对象的构造器,和this关键字的使用,以及会简要的概括一下java中对象回收机制.觉得文章不错的读者可以关注一下作者的博客和公众号(同博客名称) 二 方法重载 2.1 方法重载的定义 方法重载是指同名的方法具有不同的参数列表:不同的参数列表是指参数列表个数不同或者相同的个数的参数,但具有不同的参数类型: 代码示例: /** * @Author lsc * <p> 方法重载</p> */ public class OverLoadZ…
00.故事的起源 “二哥,上一篇<集合>的反响效果怎么样啊?”三妹对她提议的<教妹学 Java>专栏很关心. “这篇文章的浏览量要比第一篇<泛型>好得多.” “这是个好消息啊,说明更多人接受了二哥的创作.”三妹心花怒放了起来. “也许没什么对比性.” “没有对比性?我翻看了一下二哥 7 个月前写的文章,是真的水啊,嘻嘻.”三妹卖了一个萌,继续说道,“说实话,竟然还有读者愿意看,真的是不可思议.” “你是想挨揍吗?” “别啊.我是说,二哥现在的读者真的很幸运,因为他们看到…
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 一.对象的标记 1.什么是标记?怎么标记? 第一个问题相信大家都知道,标记就是对一些已死的对象打上记号,方便垃圾收集器的清理. 至于怎么标记,一般有两种方法:引用计数和可达性分析. 引用计数实现起来比较简单,就是给对象添加一个引用计数器,每当有一个地方引用它时就加1,引用失效时就减1,当计数器为0的时候就标记为可回收.这种判断效率很高,但是很多主流的虚拟机并没有采用这种方法,主要是因为它很难解决几个对象之间循环引用的…
目录 小白学Java:包装类 包装类的继承关系 创建包装类实例 自动装箱与拆箱 自动装箱 自动拆箱 包装类型的比较 "=="比较 equals比较 自动装箱与拆箱引发的弊端 自动装箱弊端 自动拆箱引起的空指针 小白学Java:包装类 学习了许久的Java,我们知道Java是一种面向对象的语言,万物皆对象.但是我们之前在说到Java基本数据类型的时候,由于处理对象需要额外的系统开销,于是出于对性能的考虑,基本数据类型并不做为对象使用. 既然是面向对象的,在Java中许多方法需要把对象作为…
目录 小白学Java:老师!泛型我懂了! 泛型概述 定义泛型 泛型类的定义 泛型方法的定义 类型变量的限定 原生类型与向后兼容 通配泛型 非受限通配 受限通配 下限通配 泛型的擦除和限制 类型擦除 类型擦除造成的限制 小白学Java:老师!泛型我懂了! 泛型概述 使用泛型机制编写的程序代码要比哪些杂乱地使用Object变量,然后再进行强制类型转换地代码具有更好的安全性和可读性. 以上摘自<Java核心技术卷一> 在谈泛型的定义之前,我先举一个简单又真实的例子:如果我想定义一个容器,在容器中放同…
目录 小白学Java:迭代器原来是这么回事 迭代器概述 迭代器设计模式 Iterator定义的方法 迭代器:统一方式 Iterator的总结 小白学Java:迭代器原来是这么回事 前文传送门:Enumeration 上一篇,我们谈到了那个古老的迭代器Enumeration,还谈到了取代他的新迭代器--Iterator.相比于以往,这个新物种又有哪些优点呢? 迭代器这个词,在没查找许多资料之前,我只知道个大概,我知道它可以用来遍历集合,但是至于它其中的奥妙,并没有做深究.本篇文章关于Iterato…
目录 小白学Java:内部类 内部类的分类 成员内部类 局部内部类 静态内部类 匿名内部类 内部类的继承 内部类有啥用 小白学Java:内部类 内部类是封装的一种形式,是定义在类或接口中的类. 内部类的分类 成员内部类 即定义的内部类作为外部类的一个普通成员(非static),就像下面这样: public class Outer { class Inner{ private String id = "夏天"; public String getId() { return id; } }…
目录 小白学Java:File类 不同风格的分隔符 绝对与相对路径 File类常用方法 常用构造器 创建方法 判断方法 获取方法 命名方法 删除方法 小白学Java:File类 我们可以知道,存储在程序中的数据是暂时的,在程序终止的时候,存储在程序中的数据就会丢失.我们通常为了永久地保存在程序中创建地数据,需要将它们存储到磁盘上或者其他永久存储设备的文件中,这些文件之后可以被其他的程序传输和读取. 而java.io包下的File实用类库就可以被运用操作这些文件,File封装了在用户机器上处理文件…
目录 小白学Java:I/O流 基本分类 发展史 文件字符流 输出的基本结构 流中的异常处理 异常处理新方式 读取的基本结构 运用输入与输出 文件字节流 缓冲流 字符缓冲流 装饰设计模式 转换流(适配器) 适配器设计模式 标准流/系统流 标准流分类 打印流 合并流 序列化/反序列化流 序列化对象 小白学Java:I/O流 流,表示任何有能力产生数据的数据源对象或者是有能力接收数据的接收端对象,它屏蔽了实际的I/O设备中处理数据的细节. 基本分类 根据方向 输入流:数据从外部流向程序,例如从文件中…
目录 小白学Java:RandomAccessFile 概述 继承与实现 构造器 模式设置 文件指针 操作数据 读取数据 read(byte b[])与read() 追加数据 插入数据 小白学Java:RandomAccessFile 之前我们所学习的所有的流在对数据操作的时候,都是只读或者只写的,使用这些流打开的文件很难进行更新.Java提供了RandomAccessFile类,允许在文件的任意位置上进行读写. 概述 官方文档的解释是这样的: Instances of this class s…
前言 Java实体对象为什么一定要实现Serializable接口呢?在学JavaSE的时候有些实体对象不实现Serializable不是也没什么影响吗? 最近在学习mybatis的时候发现,老师写的实体对象都实现了Serializable接口,我查了查网上说是实现Serilizable接口是为了序列化 先来看下Serializable接口 Serializable是java.io包中定义的.用于实现Java类的序列化操作而提供的一个语义级别的接口.Serializable序列化接口没有任何方法…
很多小伙伴们在刚接触Java的时候,会有些迷茫,不知道该从哪里入手,不管是做前端还是后端,程序员都会用到JAVA,那该掌握哪些必要的基础知识呢.今天就跟大家分享新手学Java,有哪些入门知识点? 下面总结了零基础学习Java编程语言的几个基础知识要点.希望对刚入门的Java新手有所帮助. 一.先了解Java的四个方面 先弄清Java的基本概念是必不可少的,不提倡一味的死记硬背,重在理解,弄清它们之间的区别和联系,以及分别有哪些应用. 在敲代码时也不要一味的照着书本狂敲,而是要思考这些代码中用到了…
你好呀,我是沉默王二,一个和黄家驹一样身高,刘德华一样颜值的程序员(管你信不信呢).从两位偶像的年纪上,你就可以断定我的码龄至少在 10 年以上,但实话实说,我一直坚信自己只有 18 岁,因为我有一颗好学的心.本篇文章就打算通过我和三妹对话的形式来学一学"Spring 的基础". 教妹学 Java,没见过这么放肆的标题吧?"语不惊人死不休",没错,本篇文章的标题就是这么酷炫,不然你怎么会点进来? 我有一个漂亮如花的妹妹(见上图),她叫什么呢?我想聪明的读者能猜得出:…