- 博客(37)
- 资源 (2)
- 收藏
- 关注
转载 《程序员修炼之道》
注重实效的哲学我的源码让猫给吃了在所有的弱点中,最大的弱点就是害怕暴露弱点。对于缺点、无知、错误,必须诚实。负责承诺的事情正确完成,无法完成,超出控制的事情不去承诺。为结果负责,出现问题时应提供其他解决方案,不是寻找借口。软件的熵低劣设计,糟糕代码需要发现一个就修一个,否则会加速任何一个整洁,良好系统的腐烂。破窗理论:一辆轿车放一星期无人理睬,一旦有一扇窗户被打破,数小时之内车上设备就会被抢夺一空石头汤煮青蛙当大家都不愿意做一件事时,自己先做,让其余人看见未来,就
2020-06-05 22:57:59
290
2
原创 【阿里巴巴面试题目】Java中equals、hashcode、==的区别
1、==基础数据类型如int、short、long直接比较的是值是否相等。引用数据类型如数组、类比较的是内存地址是否相等。2、equals默认的equals方法,比较的是hascode是否相等。经过覆写的equals方法,按照覆写的逻辑来比较是否相等。3、hascode方法默认的hascode方法,是将对象的实际内存地址经过哈希算法后返回一个数值。因此,两个不同的对象也...
2020-03-01 14:05:38
336
原创 从零开始手写Web-Server
从零开始手写Web-Server简介1、反射简介要实现手写Web-Server,需要9大知识储备OOP面向对象容器IO多线程网络编程XML解析反射HTMLHTTP协议由于前五个为Java基础知识,因此,我们直接从第六项开始学习,如果你已经掌握了这些知识,请直接跳过,去看后面的实现部份。1、反射...
2019-06-03 17:08:33
1106
原创 Windows10 修改键位映射
总目录1、为什么要修改键位2、我的计划3、执行步骤第1步:打开注册表编辑器第2步 创建映射文件第3步 添加映射4、如何让某个键失效?5、如何撤销更改?6、附录 键位表1、为什么要修改键位我的笔记本键盘上下键是这样的:很想捶死产品经理,你是从来不适用上下键来调整光标吗?这么设计经常按错好不好!2、我的计划众所周知,Shift键在键盘上有左右两个,并且右侧那个shift一百年也不用一次因...
2019-06-02 17:16:49
76627
59
原创 全面掌握Java多线程
文章目录线程的2种创建方法方法1:继承Thread类方法2:实现Runnable接口线程的2种创建方法方法1:继承Thread类继承Thread类实现多线程的步骤:在Java中负责实现线程功能的类是java.lang.Thread 类。可以通过创建 Thread的实例来创建新的线程。每个线程都是通过某个特定的Thread对象所对应的方法run( )来完成其操作的,方法run( )称为...
2019-06-02 15:42:32
424
原创 ObjectOutputStream在Socket长连接下的内存泄露及解决方案
使用 ObjectOutputStream 来进行对象序列化相信大多数程序员在使用 Java 进行日常开发工作中,都曾经遇到需要把数据进行序列化的情况,比如写入文件或者写入 socket 流。Java 的类库也提供了丰富工具类供我们使用,这其中就包括 ObjectOutputStream。此类允许我们将 Java 对象的基本数据类型和图形写入 OutputStream,在需要将 Java 对象...
2019-05-31 17:27:13
748
原创 Java自带程序分析神器jvisualvm
在做一个项目的时候发现内存在持续增长,cpu高速运转,想了老半天,也不知道是啥情况。于是我决定,我要走进JVM内部,查看每个程序的内存、CPU、线程情况!直到我看到了这样一篇文章https://blog.csdn.net/gavin_john/article/details/52458542在里面我注意到了一个Java自带的分析器jvisualvm真的好用!使用起来超级方便,只...
2019-05-31 17:20:00
529
转载 Java 内部类的分类
在Java中内部类主要分为成员内部类(非静态内部类、静态内部类)、匿名内部类、局部内部类。.成员内部类(可以使用private、default、protected、public任意进行修饰。 类文件:外部类$内部类.class)a) 非静态内部类(外部类里使用非静态内部类和平时使用其他类没什么不同) i. 非静态内部类必须寄存在一个外部类对象里。因此,如果有一个非静态内部类对...
2018-12-27 19:51:30
868
转载 Java 抽象方法、抽象类、接口
·抽象方法 使用abstract修饰的方法,没有方法体,只有声明。定义的是一种“规范”,就是告诉子类必须要给抽象方法提供具体的实现。·抽象类 包含抽象方法的类就是抽象类。通过abstract方法定义规范,然后要求子类必须定义具体实现。通过抽象类,我们就可以做到严格限制子类的设计,使子类之间更加通用。【示例5-16】抽象类和抽象方法的基本用法 1 ...
2018-12-27 19:28:18
124
转载 Java final字段的作用
final关键字的作用: 1. 修饰变量: 被他修饰的变量不可改变。一旦赋了初值,就不能被重新赋值。 1 final int MAX_SPEED = 120; 2. 修饰方法:该方法不可被子类重写。但是可以被重载! 1 final void study(){} 3...
2018-12-27 19:20:23
2618
原创 Java 父类子类之间的类型转换
声明一个父类,然后让其指向子类,这个过程为向上转型,属于自动类型转换,不会报错。声明一个子类,然后让其指向父类,这个过程为向下转型,需要强制类型转换,否则报错。不管一个对象正在被父类管理还是子类管理,只能调用其当前管理者的方法。注释:啥是管理者?比如String a = "hello",那么a就是这个字符串当前的管理者。示例如下:publicclassTestCastin...
2018-12-27 19:18:48
605
1
转载 Java 多态
多态指的是同一个方法调用,由于对象不同可能会有不同的行为。现实生活中,同一个方法,具体实现会完全不同。 比如:同样是调用人的“休息”方法,张三是睡觉,李四是旅游,高淇老师是敲代码,数学教授是做数学题; 同样是调用人“吃饭”的方法,中国人用筷子吃饭,英国人用刀叉吃饭,印度人用手吃饭。 多态的要点: 1. 多态是方法的多态,不是属性的多态(多态与属性无关)。 ...
2018-12-27 19:17:53
189
转载 Java 封装 private public protected和用法
Java是使用“访问控制符”来控制哪些细节需要封装,哪些细节需要暴露的。 Java中4种“访问控制符”分别为private、default、protected、public,它们说明了面向对象的封装性,所以我们要利用它们尽可能的让访问权限降到最低,从而提高安全性。 下面详细讲述它们的访问权限问题。其访问权限范围如表5-1所示。表5-1 访问权限修饰符 1. pr...
2018-12-27 14:53:54
14518
4
转载 java 中 静态块的作用
(一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用比如main方法就必须是静态的 这是程序入口两者的区别就是:静态代码块是自动执行的;...
2018-12-26 15:44:32
1266
转载 JVM面向对象内存分析
Java虚拟机的内存可以分为三个区域:栈stack、堆heap、方法区method area。栈的特点如下: 1. 栈描述的是方法执行的内存模型。每个方法被调用都会创建一个栈帧(存储局部变量、操作数、方法出口等) 2. JVM为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数、局部变量等) 3. 栈属于线程私有,不能实现线程间的共享! 4. 栈的存储特性是“先...
2018-12-26 15:22:16
130
原创 Java中this的两个用途
1、变量命名冲突的时候,用于区分。2、用于在类中调用构造函数。如下:public class test{ private int a; private int b; private int c; public test(int a,int b){//作用1 this.a = a; this.b = b; } public test(int a,int b,int ...
2018-12-26 15:11:05
495
1
转载 java中short、int、long、float、double取值范围
一、分析基本数据类型的特点,最大值和最小值。 1、 基本类型:int 二进制位数:32 包装类:java.lang.Integer 最小值:Integer.MIN_VALUE= -2147483648 (-2的31次方) 最大值:Integer.MAX_VALUE= 2147483647 (2的31次方-1) 2、 基本类型:short 二进制位数:16 包装类:java.lan...
2018-09-11 19:37:38
288
原创 第10课 Go反射reflection
反射reflection反射可大大提高程序的灵活性,使得interface{}有更大的发挥余地反射使用TypeOf和ValueOf函数从接口中获取目标对象信息反射会将匿名字段作为独立字段(匿名字段本质)想要利用反射修改对象状态,前提是interface.data是settable,即pointer-interface通过反射可以动态调用方法
2016-08-22 10:47:09
320
3
原创 JAVA散列表(Hash表)
Java散列表(Hash表)创建Hash表的时候一定注意<>内填写的key和value都是类一个key对应一个value
2016-07-17 16:47:35
968
原创 图的深度优先遍历(用邻接矩阵表示图)
图的深度优先遍历(用邻接矩阵表示图)#include <stdio.h>#include <stdlib.h>void bianli(bool students[8][8],int student[8],int i,bool temp[8]){ printf("%d\n",student[i]); temp[i]=0; for(int j=0;j<8;j++)
2016-05-11 19:16:37
2716
原创 马踏棋盘算法(回溯算法、X*Y图的邻接矩阵深度优先遍历)
马踏棋盘算法(回溯算法、X*Y图的邻接矩阵深度优先遍历)#include <stdio.h>#include <time.h>#define X 8#define Y 8int chess[X][Y];//找到基于(x,y)位置的下一个可走的位置int nextxy(int* x,int* y,int count){ switch(count) { case 0:
2016-05-11 13:24:43
1701
一文搞懂SQL.pdf
2020-05-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人