自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 Redis内存回收

Redis内存设置1.配置文件配置可以通过在Redis安装目录下的redis.conf文件设置内存大小。// 设置Redis可占用最大内存maxmemory 50mb2.Redis命令设置127.0.0.1:6379> config set maxmemory 50mbRedis内存回收如下图,通过查看Redis的配置文件redis.conf可知,当Redis内存使用完时...

2019-11-29 19:02:45 354

原创 【Java】JDK1.8 HashMap源码解析

HashMap是基于哈希表的Map接口的实现。采用key-value(键值对)来存储,并允许使用null作为键和值。HashMap由数组+链表组成的,数组是HashMap的主体,链表则是解决哈希冲突,如果定位到的数组位置不含链表(当前entry的next指向null),那么对于查找,添加等操作很快,仅需一次寻址即可;如果定位到的数组包含链表,对于添加操作,其时间复杂度为O(n),首先遍历链表,存在...

2019-11-27 20:35:50 220

原创 【Java】 简单实现微服务之 RPC RMI 框架

目录RPC和RMI注册中心服务器端客户端欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导...

2019-08-26 20:25:12 357

原创 【Java】浅谈ClassLoader类加载器

ClassLoader是用来加载类到Java虚拟机中的一种加载器。它将 Class 的字节码形式转换成内存形式的 Class 对象 。public final class Class<T> implements java.io.Serializable, GenericDeclaration, ...

2019-07-21 19:14:34 206

原创 【Java】持久层模拟(Hibernate)

Hibernate框架是一个全自动的ORM框架,将数据库的操作转换为对对象的操作以简化开发。它对JDBC进行了轻量级的封装,将POJO与数据库中的表建立映射关系。该框架可以在任何使用JDBC的场合应用(只需修改配置文件即可完成对不同种类数据库的操作),hibernate推荐的HQL查询语言提供了更加丰富的和灵活的查询特性,并且完成数据持久化。 因为JVM提供垃圾回收机制,所...

2019-05-20 20:11:06 220

原创 【Java】Spring框架的简单模拟实现

Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。首先,Spring框架中实现注入的方式有注解注入和XML配置文件注入。基于注解的配置优点是更短、更简洁,开发效率高,缺点是配置嵌入到各个文件中,比较分散不易于管理。而XML配置优点是配置比较集中、方便管理,缺点是配置冗长、不够简洁。为了达到练习和理解的目的,在此仅通过难度较高的注解注入方式。之前粗略的实现了基于JD...

2019-05-01 21:33:54 490 1

原创 【Java】代理机制实现拦截器

Spring框架AOP部分是基于JDK动态代理和CGLIB动态代理实现的,而JDK动态代理(面向接口)是默认的代理模。为了后期实现Spring框架的简单模拟,首先完成基于这两种代理机制的拦截器。先抛开JDK动态代理和CGLIB动态代理的不同,我们在执行invoke方法时都必须用到三个参数:对象、方法、参数。我们首先假设完成了对三个参数的获取。因为考虑到多个拦截器的存在,我们需要创建一...

2019-04-29 16:50:30 385

原创 【Java】滴答滴答—计时器工具

在多线程编程时,我们需要考虑到资源的有效利用和线程占有资源问题。例如在C-S框架中,客户机连接服务器的操作。当客户机连接到服务器时,如果长时间没有进行信息交互而一直保持与服务器的连接,这不仅会增加服务器的负担,还会造成CPU资源的浪费。因此,我们完成一个计时器工具,检测当客户机在指定时间内有没有进行操作,如果没有则可以通过调用抽象方法doSomething()来对客户机或相关线程进行关闭或放在...

2019-03-28 14:13:42 657

原创 【Java】 Java 实现 2048 小游戏

闲暇之余再次做了一次2048.之前通过C语言完成过“2048游戏”,因此java版采用了原C语言版的基本思路,学习认识了一些关于Graphics 类和 Graphics2D 的一些基本用法。IBaseData 类:将一些常用的基本信息和方法写成一个接口。package com.chy.myGame.view;import java.awt.Font;public inter...

2019-02-22 19:34:30 15728 11

原创 【Java】数据库连接工具

在Java编程中操作数据库时,都要先编写代码来获取数据库连接,而数据库连接只需要一次。因此这里将获取数据库连接的方法封装成一个工具类,只需要通过该类调用相应的方法就可以获取数据的连接。并且提供SQL语句的执行方法,用户只需要输入SQL语句即可完成对数据库的操作。作为用于练习的简单工具,SQL语句的执行方法还可再做改进。 数据库连接工具代码:package com.chy.about_...

2019-02-14 21:46:20 758

原创 【Java】包扫描工具(含jar包)

 包扫描工具: 1.普通包扫描:  // 需要包的路径和包名称 private void packageScanner(String packagePath, String packageName) { // 通过包路径得到当前文件 File currentFile = new File(packagePath); if(!currentFile.exists...

2019-02-14 17:44:06 591

原创 【Java】XML实现EasySwing

利用编写XML文件和properties文件来实现窗口的生成,目的是为了减少重复量大且冗杂的代码,提高编程效率。通过对XML文件和Properties文件的解析,利用反射机制来调用相应方法。因为在swing窗口的代码实现时,对各种控件的设置和操作都是大同小异,重复率很高;通过反射机制来实现相关设置和操作就大大简化了代码的重复,各类控件的添加设置只需执行这一段代码。作为练习,此项目只完成swing...

2019-02-13 17:16:28 429 1

原创 【Java】简易的XML文件解析工具和Properties文件解析工具

 XML文件解析:package com.chy.parser.core;import java.io.IOException;import java.io.InputStream;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import j...

2019-01-28 17:45:14 444

原创 2048小游戏

2048小游戏2048初始数字由2+2组成的基数4。游戏规则很简单,每次可以选择上下左右其中一个方向去滑动,每滑动一次,所有的数字方块都会往滑动的方向靠拢外,系统也会在空白的地方乱数出现一个数字方块,相同数字的方块在靠拢、相撞时会相加。系统给予的数字方块不是2就是4,玩家要想办法在这小小的16格范围中凑出"2048"这个数字方块。(来源于百科)第一次写小游戏,出于兴趣在课余时间尝试了一下。...

2018-09-29 20:34:20 840

原创 巨大数运算

巨大数的运算:由于实现了包含整数和小数的运算,小数的除法运算比较繁琐且有比较高的难度,所以在有限的时间内只完成了加、减、乘这三则运算。后期如需增加除法运算,只需完成相关函数编写,此代码无需改动。由于当前计算机对于数据的处理是存在一定限度的,c语言提供了许多整数类型,一般情况下使用int类型,但int类型的范围在-217483648~2147483647,当数据超出该范围时就需要使用另外的方...

2018-09-20 00:40:50 777 5

原创 关于exchange()和realExchange()的形参与实参传递过程。

//错误做法:#include &lt;stdio.h&gt;void exchange(int, int);void exchange(int one, int another) {       int tmp;      tmp = one;      one = anthoner;      another = tmp;}int main() {       int nu...

2018-04-21 09:16:53 616

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除