摘要:
BIO编程
最原始BIO
网络编程的基本模型是C/S模型,即两个进程间的通信。
服务端提供IP和监听端口,客户端通过连接操作想服务端监听的地址发起连接请求,通过三次握手连接,如果连接成功建立,双方就可以通过套接字进行通信。
传统的同步阻塞模型开发中,ServerSocket负责绑定IP地址,启动监听端口;So... 阅读原文
2019-06-25 06:47:04 阅读(2321) 评论(0)
摘要:
之前同事反馈说线上遇到Redis反序列化异常问题,异常如下:
XxxClass1 cannot be cast to XxxClass2
已知信息如下:
该异常不是必现的,偶尔才会出现;
出现该异常后重启应用或者过一会就好了;
序列化协议使用了hessian。
因为偶尔出现,首先看了报异常那块... 阅读原文
2019-06-25 06:00:09 阅读(2509) 评论(0)
摘要:
今天,接着上一篇( mysql 数据库 )的基础上,我就写一下 Java 怎样连接数据库,并且操作数据库。
首先,我们先来准备一下数据库连接的驱动:
mysql 的 jar 包下载地址:https://dev.mysql.com/downloads/connector/j/
Oracle 的 j... 阅读原文
2019-06-25 00:34:02 阅读(2354) 评论(0)
摘要:
1. 前言
《论语·魏灵公》:“工欲善其事,必先利其器。居是邦也,事其大夫之贤者,友其士之仁者。”
工欲善其事必先利其器。我们在熟悉一个陌生项目的时候,首先会大概去看一下功能简介,浏览一下代码。如果还比较中意的话,就会下载下来,搭个环境跑一跑,仔细研究里面的功能和代码实现。
基础环境都搭建不好,那就别谈后面如何... 阅读原文
2019-06-24 23:23:03 阅读(2332) 评论(0)
摘要:
string类用final修饰,说明string不可以被继承
存放string内容的是被private final 修饰的char数组,说明不能在外部访问该数据,并且不能将char数组指向到新的地址。
虽然char数组的元素可以被修改,但是string类中没有提供修改char数组元素的方法。
阅读原文
2019-06-24 22:35:02 阅读(2392) 评论(0)
摘要:
编写代码的八荣八耻
1. 产品命名:以简单有趣为荣,以平庸难记为耻。
2. 单个函数:以短小精悍为荣,以冗长费神为耻。
3. 代码维护:以持续重构为荣,以停滞不前为耻。
4. 编程风格:以运用风格为荣,以随意编码为耻。
5. 程序设计:以开关上线为荣,以自信编码为耻。
6. 接口定义:以用户易用为荣,以复... 阅读原文
2019-06-24 21:20:02 阅读(2391) 评论(0)
摘要:
J2SE入门(六) static五大应用场景
static和final是两个我们必须掌握的关键字。不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构。上一个章节我们讲了final关键字的原理及用法,本章节我们来了解一下static关键字原理及其用法。
一. static特... 阅读原文
2019-06-24 19:50:02 阅读(2342) 评论(0)
摘要:
1.一维数组的声明与初始化 正确的方式:
int num;//声明
num = 10;//初始化
int id = 1001;//声明 + 初始化
int[] ids;//声明
//1.1 静态初始化:数组的初始化和数组元... 阅读原文
2019-06-24 18:30:04 阅读(2371) 评论(0)
摘要:
我们都知道Java中的继承是复用代码、扩展子类的一种方式,继承使得Java中重复的代码能够被提取出来供子类共用,对于Java程序的性能以及修改和扩展有很大的意义,所以这是一个非常重要的知识点。
那么对于继承的知识点,你真的都了解了吗?
首先,我们都知道子类继承父类,就能直接访问父类的公共属性以及受保护属性(pub... 阅读原文
2019-06-24 17:23:01 阅读(2476) 评论(0)
摘要:
//读取键盘录入的数据写到a.txt
//方式一
private static void method() throws IOException {
//创建输入流对象
InputStream is = System.in;
Reader r = new InputStreamReader(i... 阅读原文
2019-06-24 16:27:02 阅读(2321) 评论(0)