随笔分类 -  java基础

摘要:软件开发的关键在于应用抽象的概念。方法抽象是通过将方法的使用和它的实现分离来实现的。用户在不知道方法是如何实现的情况下,就可以使用方法。方法的实现细节封装在方法内,对使用该方法的用户来说是隐藏的。这就被称为信息隐藏或者个封装。如果决定改变方法的实现,但只要不改变方法签名,用户的程序就不会受到影响。方 阅读全文
posted @ 2020-02-05 16:15 guodaxia 阅读(246) 评论(0) 推荐(0) 编辑
摘要:未封装的对象可能会比较难堪 直接将属性暴露出来,使用圆点运算符来存取 d.age=2; 但是无法确定使用者是否这样操作: d.age=-2; 因此,有必要对使用者的使用权限做限制,告诉它可以怎样操作,不可以怎么操作。 封装的手段是: private 修饰类的属性,使得只能本类使用,关闭了外界访问通道 阅读全文
posted @ 2020-02-02 10:17 guodaxia 阅读(227) 评论(0) 推荐(0) 编辑
摘要:一个简单的java程序: class Test1{ public static void main(String[] args){ System.out.println("helloWorld"); } } 可以直接执行。这是否用到了其他对象呢?暂时不考虑它 如果需要与其他类型对象进行通信呢,如: 阅读全文
posted @ 2020-02-02 09:55 guodaxia 阅读(303) 评论(0) 推荐(0) 编辑
摘要:java内存管理不简单,这里只简单介绍栈、堆、方法区三种,用来解释java程序的运行流程。 堆: 用来装载java对象 栈: 用来装载局部变量和方法的调用,每一个方法的调用载入一块栈帧,栈信息的出入原则与子弹夹类似,先进后出。 方法区: 存储一些公有信息,多个对象可能共同使用的信息,方法结构、静态变 阅读全文
posted @ 2020-01-31 16:58 guodaxia 阅读(191) 评论(0) 推荐(0) 编辑
摘要:java是一门面向对象设计的语言,面向对象是什么呢?是一种思想,一种解决问题的手段。 面向对象与面向过程 面向对象与面向过程其目的都是解决问题 而面向对象针对点较为宏观,类似分而治之的解决方式,处理问题找的不是问题的解决步骤,而是针对能完成该步骤的人,也是我们生活中常见的管理方式。 面向过程针对较为 阅读全文
posted @ 2020-01-31 15:17 guodaxia 阅读(269) 评论(0) 推荐(0) 编辑
摘要:插入排序,见名知意思,就是将元素插入到它应该待的位置,来实现排序。什么叫应该待的位置呢?通俗点说,插入排序的原理是将一个元素插入到有序数组,不断地扩展有序数组的长度实现整个数组的有序。 插入排序进行的移位操作有两个: 1、是将要插入元素清除,其他与有序数组无关元素后移 2、是在找到了插入位置之后的插 阅读全文
posted @ 2020-01-31 11:58 guodaxia 阅读(659) 评论(0) 推荐(0) 编辑
摘要:冒泡排序之所以叫冒泡排序,是因为其排序规则如果水中气泡一样,从底部到顶部依次变大,最顶部的一定是最大值,通过不断的冒泡,实现数据的有序化。 从底部开始冒泡,冒泡到哪个位置,该位置即为底部元素中的最大值,一轮冒泡结束,最大值就到了顶部。进行数组长度-1次数的冒泡,数据就可以实现从大到小的排序了。 这一 阅读全文
posted @ 2020-01-31 11:08 guodaxia 阅读(972) 评论(0) 推荐(0) 编辑
摘要:break和continue关键字主要用于语句的流程控制,一般用在循环中,break可用在switch语句中。 顾名思义,break的意思是中断,也就是中断当前循环的意思,continue是继续,指的是跳过当前循环体剩余内容,开始下一次循环。 举例: 从1~1000之间的数值累加,如果数值能被3整除 阅读全文
posted @ 2020-01-31 10:33 guodaxia 阅读(1970) 评论(0) 推荐(0) 编辑
摘要:java中主要有两种循环: while(){ } 与do{ }while() 和for(;;){ } 循环三要素: 初始化信息、循环体、条件控制语句 选用while还是for循环,注意考虑的是循环次数是否明了,只需要观察循环头,即可知道循环次数,因为初始化语句,判断语句,更改语句都在for的循环头中 阅读全文
posted @ 2020-01-31 09:51 guodaxia 阅读(329) 评论(0) 推荐(0) 编辑
摘要:这里简要提一下2进制、8进制、十进制、十六进制的互转 起源: 计算机信息使用电子元件保存,电子元件状态只有开闭两种,通过不同的开闭组合来保存信息,也就是我们的二进制的原型。 生活中的信息往往不只有两个状态,因此需要多个电子元件组合,我们将8个电子元件信息作为最小的存储单位,1byte=8bit。1m 阅读全文
posted @ 2020-01-30 09:44 guodaxia 阅读(794) 评论(0) 推荐(0) 编辑
摘要:首先回顾一下我们的基础知识。 sleep: 线程睡眠,不会释放锁 wait: 线程等待。释放锁。 notity: 唤醒随机一个当前对象等待的线程,并不会释放锁 notityAll: 唤醒所有当前对象等待的线程,并不会释放锁 遇到问题: 代码如下: 程序发现wait总是会被唤醒。 怀疑是不是总是先wa 阅读全文
posted @ 2019-04-18 11:52 guodaxia 阅读(733) 评论(0) 推荐(0) 编辑
摘要:初学java的时候接触的%这个符号 百分号? 求余? 取模? 我只知道不是百分号,好像是求余,听别人那叫求模运算符,跟求余一样,于是我便信了。 思考之后开始迷糊,然后经过多次考证得到以下结论。 首先,%是求余的意思,不是求模的意思。求模不完全等于求余。 首先我们遵守公式: a = b * q + r 阅读全文
posted @ 2019-03-14 11:51 guodaxia 阅读(1055) 评论(0) 推荐(0) 编辑
摘要:java中有2个地方有\b,一个是特殊字符\b,另一个是在正则表达式中表示边界的意思。 我们这里只讨论特殊字符\b 我这里一共接受到几种解释: 1、退格符相当于键盘上的Backspace符号 backspace符号是删除的意思,操作有2个,1是删除左1字符,2光标移动到左1个位置 2、换成一个黑点 阅读全文
posted @ 2019-03-12 17:49 guodaxia 阅读(7080) 评论(0) 推荐(1) 编辑
摘要:1、 有符号数和无符号数 我们的实数分为正数和负数和0三部分 Byte数据类型一共有8位,如果是无符号数,最大可以表示的数为11111111 = 256 -1 = 255 无符号数代指不需要符号指明就可以知道它是什么数值大小。如果知道范围是正数和0的话,范围确实是0~255了 可是我们的byte除了 阅读全文
posted @ 2019-03-12 17:27 guodaxia 阅读(1479) 评论(0) 推荐(0) 编辑
摘要:数据在计算机内都是二进制存储的,存储运算都使用的是补码。 原码 就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。 反码 正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。 补码 正数的补码与其原码相同;负数的补码是在其反码的末位加1。浮点数 阅读全文
posted @ 2019-03-12 17:23 guodaxia 阅读(1126) 评论(0) 推荐(0) 编辑
摘要:参考: https://blog.csdn.net/jjj19891128/article/details/22945441(得到小数转换二进制) 引: 最常见的数字进制是十进制,我们生活当中均有体现,如15.00 ¥ ,以0-9组成的数字序列 再其次了解的进制是2进制,是计算技术中广泛采用的一种数 阅读全文
posted @ 2019-02-23 13:00 guodaxia 阅读(730) 评论(0) 推荐(0) 编辑
摘要:引言: websocket,webservice傻傻分不清楚,都觉得是很高深的东西,理解中的webservice是一种协议,通信协议,类似http协议的那种,比如使用webservice协议调后台接口,而websocket呢?与socket挂钩?长连接?对未知的东西总是恐惧的,所以默默不敢说话 启航 阅读全文
posted @ 2018-12-11 14:01 guodaxia 阅读(1173) 评论(0) 推荐(0) 编辑
摘要:线程的创建方式: 1、线程继承Thread类,通过该对象的start()方法启动线程 2、线程实现Runnable接口,通过往Thread类构造传入Runnable对象,thread.start()启动线程。 3、线程实现Callable接口。Callable相当于run方法有返回值的Runnabl 阅读全文
posted @ 2018-11-14 17:37 guodaxia 阅读(270) 评论(0) 推荐(0) 编辑
摘要:Map集合的普通初始化方法: 今天看到这样的写法: 前面以为是jdk7或者jdk8的新特征 后面查看资料是利用继承、代码块、内部类的实现 相当于创建的是一个HashMap的子类对象,且该子类中有实例代码块做一个初始化赋值操作,实例代码块中可以随意调用实例方法。 代码: 反编译: 同理,ArrayLi 阅读全文
posted @ 2018-03-06 17:59 guodaxia 阅读(468) 评论(0) 推荐(0) 编辑
摘要:参考链接:http://www.runoob.com/java/java-sending-email.html 阅读全文
posted @ 2017-11-01 20:21 guodaxia 阅读(307) 评论(0) 推荐(0) 编辑