
java
文章平均质量分 79
funyoo
此人不懒 有只小鱼
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【java基础】对接口的认识
刚刚初步学习了java的接口,在这里将自己的收获和认识写下来:原创 2018-05-06 02:20:38 · 435 阅读 · 0 评论 -
【Java】Dubbo底层RPC模拟实现
模拟Dubbo底层RPC实现,Socket通信,实现参数回调功能。之前也写过自己的RPC框架,就想着去了解一下Dubbo底层核心的RPC并模拟实现一下。发现Dubbo底层的RPC相比我之前更加完善,特别是【参数回调】这个我之前并没有的功能:RPC为远程方法调用故,我们要实现的是消费者远程调用服务器的方法。整体思路:消费者发送要实现的方法信息及参数,服务器反射执行后再发送回消费者...原创 2019-06-25 16:26:05 · 967 阅读 · 0 评论 -
【Java】使用JavaMail发送qq邮件
因为需求,尝试了一下使用java向指定用户发送邮件,亲测有效,源码奉上!准备工作:下载JavaMail的jar包:https://mvnrepository.com/artifact/javax.mail/mail/1.4.7开启邮件发送方IMAP/SMTP服务开启后会获得授权码什么是授权码?授权码是QQ邮箱推出的,用于登录第三方客户端的专用密码。适用于登录以...原创 2019-04-22 18:22:03 · 1332 阅读 · 0 评论 -
【Java】多发送端多文件网络传输(初版)
多文件多发送端网络传输:顾名思义,就是多个发送端通过网络通信同时给一个接收端发送文件。为什么说多文件?就那一个Java项目来说,要完成项目发送,就需要发送许多.java或.class或者一些配置文件,这些文件常常相互依存。如何实现?采用TCP协议实现逻辑图如下:对于文件接收方来说: 他需要接收来自多个发送方发送的文件,所以,要以接收方为服务器,让多发送方连接他。对于文件发送方来...原创 2019-01-16 12:21:38 · 888 阅读 · 0 评论 -
【Java源码】JDK1.8 HashMap源码解析
对于我自己来说,平时在敲代码的时候用HashMap很频繁,键值对方便又快捷。HashMap是用来储存key—value(键值对)的集合,最常用到的就是put和get方法,抱着HashMap是如何实现的好奇心去读读HashMap的源码。 基本属性: static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; ...原创 2018-12-23 21:57:40 · 289 阅读 · 0 评论 -
【Java】复杂局面线程的同步与互斥 (如何避免服务器不必要的载荷)
情景:在学习和做项目(C-S框架)的时候遇到这样一个场景:客户端发出登录请求的时候,服务器接收到请求回应客户端,但是,在网络编程中,服务器接收并处理请求,并将结果返回客户端是需要时间的。如果一个客户端的使用者,频繁点击了登录按钮,那就等同于向服务器频繁发送了n个相同请求,这显然是没必要的,要解决这样产生的服务器负载问题,就必须要从这里的根源出发,去禁止这些多余的无效的请求。当然,解...原创 2018-11-21 23:40:54 · 309 阅读 · 0 评论 -
【Java】用 poi-3.15.jar 实现对excel表格的读和写 (尝试完成从excel内取出对象list和存入某对象至excel的工具)
因为舍友项目的某种需求,需要将数据存储在excel表格中,我就下载并尝试使用了 poi-3.15 ,下面是我自己在学习中的一点所得poi-3.15 下载地址:https://mvnrepository.com/artifact/org.apache.poi/poi/3.15这是一个简单的excel表格,第一行给出了 表头实际上poi包的基本操作也是对 行 列 和 cell 的操作...原创 2018-11-16 20:44:16 · 1451 阅读 · 0 评论 -
【java】Spring AOP IOC 初探及实现
最近学习了AOP和IOC,了解并自己实现了Spring中的AOP和IOC什么是AOP? AOP即面向切面编程,能够让我们在不影响原有功能的情况下,对程序进行横向扩展,面向切面?横向扩展?第一次接触这两个词的时候我也是一脸懵逼。 说说我的理解:如果现有某个类的某个方法是已经封装好的,现在我们需要在执行这个方法的时候加点自己的东西,对原方法的执行进行干预。当然要求是...原创 2018-10-25 02:04:59 · 1349 阅读 · 9 评论 -
【Java源码】基于链表实现的LinkedList
众所周知,LinkedList是基于链表实现的。目录基本属性构造方法增加元素(插入元素) 删除元素其他方法迭代器总结 基本属性 transient int size = 0; transient Node<E> first; transient Node<E> last; 基本属性中给出...原创 2018-10-26 18:48:05 · 314 阅读 · 0 评论 -
【Java】手写实现AOP及感悟发现
什么是AOP? AOP即面向切面编程,能够让我们在不影响原有功能的情况下,对程序进行横向扩展,面向切面?横向扩展?第一次接触这两个词的时候我也是一脸懵逼。 说说我的理解:如果现有某个类的某个方法是已经封装好的,现在我们需要在执行这个方法的时候加点自己的东西,对原方法的执行进行干预。当然要求是不能破坏原类。这时需要AOP思想,把这个方法,即切点扩展成一个面来进行操作...原创 2018-10-21 22:08:21 · 4669 阅读 · 1 评论 -
【Java】手写实现简单的微服务--RPC RMI 框架
RPC :Remote Procedure Call,远程过程调用RMI:Remote Method Invocation,远程方法调用RPC和RMI是有区别的:可以这么理解,RMI就是面向对象的RPC,即,RMI就是用Java实现的RPC其目的是:利用网络通信,客户端远程调用服务器的方法其核心思想是:一个端可以通过调用另一个端的方法,实现相关功能。一个端“执行”一个方法,而这个方法的实际执行是在另一端进行的!原创 2018-10-28 22:29:33 · 622 阅读 · 0 评论 -
【Java】包扫描与Jar包扫描工具
为什么要用到包扫描? 包扫描一般用作于扫描出该包内所有带有某注解的类,并对之进行处理 包扫描可分为普通包扫描和Jar包扫描包扫描工具代码:1.普通包扫描 // 给定包名及当前文件currentfile private void scanPackage(String packageName, File currentfile) {...原创 2018-10-03 00:03:47 · 3011 阅读 · 0 评论 -
【Java源码】基于数组实现的ArrayList(下)
接着上篇目录 addAll (Collection c) 增加 addAll (int index, Collection c) 增加 removeAll (Collection c) 在集合中,删除与Collection中元素相等的元素 subList (int fromIndex, int toIndex) 根据起始下标返回一个List(不包括toIndex下标...原创 2018-09-24 20:19:10 · 578 阅读 · 0 评论 -
【Java源码】ArrayList源码(上)关于get方法的遗留问题
问题重现 在ArrayList源码的get方法中,传参为负的异常是如何产生的? 源码只判断了index > size public E get(int index) { rangeCheck(index); return elementData(index); } private void rangeCheck(in...原创 2018-09-23 20:47:32 · 842 阅读 · 0 评论 -
【Java源码】基于数组实现的ArrayList(上)
目录 基本属性: 构造方法 给定容量的构造方法 无参构造方法 根据已有的Collection构造ArrayList “修剪数组” 即 去除多余的(多申请的空间)ensureCapacity确保数组容量grow扩容大小,是否为空,是否包含indexOf 查找某指定成员的第一个下标lastInde...原创 2018-09-23 16:17:43 · 909 阅读 · 0 评论 -
【Java】多个构造器参数时应考虑到的构建器 (从 重叠构造器 到 JavaBeans模式 再到 Builder模式)
说到多个构造器参数,第一个想到的应该是重叠构造器模式:public class UserModel { private String ID; private String name; private String sex; private String password; private String t...原创 2018-09-09 16:08:28 · 309 阅读 · 0 评论 -
【JAVA入门】关于static存在的必要性
很多刚刚接触JAVA的人对于static并不是很懂(反正我当初是这样的),不明白他到底有什么用,什么静态非静态,压根不明白其作用和意义。今天本垃圾正好犯关于static的错误,特以此文以表对JAVA的尊重。 这是我暑假项目实训的第一天,前几天无非是对JAVA的一些复习,今天的一个练习就是编写Complex的四则运算。 话不多说,我先贴代码再解释。...原创 2018-07-19 17:12:19 · 630 阅读 · 0 评论 -
【java入门】初学者常用窗口Swing控件整理 ;
身为初学者,不得不被java强大的库和方法所征服,刚刚学习了解了有关JAVA窗口编程的控件,现于此整理一下以备忘。private JFrame jfrmMainFrame; private Container container; 定义一个”容器“,允许程序员把其他组件(Swing 的三个基本构造块:标签、按钮和文本字段)...原创 2018-05-25 20:33:46 · 2148 阅读 · 0 评论 -
【java】从java SPI机制到dubbo SPI机制(源码浅析)
(仔细读了源码画了流程图,对dubbo的SPI机制总算有了了解,期待以后继续的收获,痛并快乐着)java的SPI机制到底是什么?简单实现一个java-SPI示例,其有什么不足?dubbo源码如何实现改进SPI,对SPI进行AOP、IOC、自适应、自激活?(dubbo为2.7.2版本)目录 一、什么是SPI?二、简单的SPI示例实现三、Java SPI...原创 2019-06-28 18:16:03 · 528 阅读 · 0 评论