自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一遍记住Java常用的八种排序算法与代码实现

1.直接插入排序经常碰到这样一类排序问题:把新的数据插入到已经排好的数据列中。将第一个数和第二个数排序,然后构成一个有序序列 将第三个数插入进去,构成一个新的有序序列。 对第四个数、第五个数……直到最后一个数,重复第二步。如何写写成代码:首先设定插入次数,即循环次数,for(int i=1;i<length;i++),1个数的那次不用插入。 设定插入数和得到已经排好序列的最后一个数的位数。insertNum和j=i-1。 从最后一个数开始向前循环,如果插入数小于当前数,就将当

2020-06-30 10:49:41 89

原创 来漫谈一下Web缓存架构

计算机领域多处地方用到缓存,比如说为了缓解CPU和内存之间的速度不匹配问题,我们往往通过增加一级、二级、三级缓存,CPU先从缓存中取指令,如果取不到,再从内存中取,并更新缓存,同时,根据程序的局部性原理,使得大部分情况下缓存都会命中。目前,Web应用的核心数据通常存放在数据库中,比如说用户信息、订单信息、交易信息等,同时,数据库和编程语言是无关的,通过SQL交互,Java、Php等语言写的程序需要访问数据库,执行业务逻辑,展示结果给用户。但是数据库有一定的局限性,譬如:1.数据库连接是非常 "昂贵 .

2020-06-29 15:40:29 177

原创 一个Java对象到底占多少内存你竟然还不知道?

内存是程序员逃不开的话题,当然Java因为有GC使得我们不用手动申请和释放内存,但是了解Java内存分配是做内存优化的基础,如果不了解Java内存分配的知识,可能会带偏我们内存优化的方向。所以这篇文章我们以“一个对象占多少内存”为引子来谈谈Java内存分配。文章标题提出的问题是”一个对象到底占多少内存“,看似很简单,但想说清楚并不容易,希望本文的探讨能让你有收获。在开始之前我还是决定先提一个曾经阴魂不散,困扰我很久的问题,了解这个问题的答案有助于我们理解接下来的内容。Java虚拟机如何在运行.

2020-06-27 10:48:25 528

原创 【算法技巧】位运算装逼指南

位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。判断奇偶数判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下if( n % 2) == 01 // n 是个奇数}复制代码如果把 n 以二进制的形

2020-06-24 17:56:35 219

原创 JVM杂谈之JIT

JIT技术是JVM中最重要的核心模块之一。我的课程里本来没有计划这一篇,但因为不断有朋友问起,Java到底是怎么运行的?既然Hotspot是C++写的,那Java是不是可以说运行在C++之上呢?为了澄清这些概念,我才想起来了加了这样一篇文章,算做番外篇吧。Just In TimeJust in time编译,也叫做运行时编译,不同于 C / C++ 语言直接被翻译成机器指令,javac把java的源文件翻译成了class文件,而class文件中全都是Java字节码。那么,JVM在加载了这些class

2020-06-23 16:15:43 155

原创 前端API层架构,也许你做得还不够

上午好,今天为大家分享下个人对于前端API层架构的一点经验和看法。架构设计是一条永远走不完的路,没有最好,只有更好。这个道理适用于软件设计的各个场景,前端API层的设计也不例外,如果您觉得在调用接口时还存在诸多槽点,那就说明您的接口层架构还待优化。今天我以vue + axios为例,为大家梳理下我的一些经历和设想。石器时代,痛苦直接调用axios,真的痛苦,每个调用的地方都要进行响应状态的判断,冗余代码超级多。import axios from "axios"axios.get('/use

2020-06-22 13:12:18 917

原创 震惊!这些Java资料让你面试一路通关

整理了2年开发经验总结的java面试题(有完整答案)想要完整的资料可以免费送给需要的小伙伴们,扣群:925895158领取方式:转发+关注,私信回复“想要领取”或评论区“滴滴滴”即可获得免费领取方式。掌握了这些知识点,面试时在候选人中又可以夺目不少,暴击9999点。机会都是留给有准备的人,只有充足的准备,才可能让自己可以在候选人中脱颖而出。...

2020-06-19 21:39:15 98

原创 Spring Boot 2.3.0 新特性Redis 拓扑动态感应

背景关于 Redis 在生产中我们一般情况下都会选择 redis cluster 高可用架构部署,既能保证数据分片并且实现节点的故障自动转移。 基本部署拓扑如下:创建测试集群这里通过我封装的 pig4cloud/redis-cluster:4.0 镜像,即可构建一个 6 个节点的 redis cluster 测试环境。docker run --name redis-cluster -d -e CLUSTER_ANNOUNCE_IP=宿主机IP \-p 7000-700...

2020-06-15 20:00:56 508

原创 Java的十五种设计模式全解析

、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、种介者模式、解释器模式。其实还有两类:并发型模式和线程池模式。用一个图片来整体描述一下:二、设计模式的六大原则总原则:开闭原则(O.

2020-06-15 11:20:34 274

原创 Java 经典问题

九种基本类型及封装类基本类型 boolean byte char short int long double void 二进制位数 1 8(一字节) 16(2字节) 16(2字节) 32(4字节) 64(8字节) 64(8字节) -- 封装器类 Boolean Byte Character Short Integer Long Double Void

2020-06-15 10:19:47 131

原创 Springboot 整合 Netty 实战

关于SpringBoot 如何整合使用 Netty ,我将分为以下几步进行分析与讨论:构建Netty 服务端 构建Netty 客户端 利用protobuf定义消息格式 服务端空闲检测 客户端发送心跳包与断线重连构建 Netty 服务端Netty 服务端的代码其实比较简单,代码如下:@Component@Slf4jpublic class NettyServer { /** * boss 线程组用于处理连接工作 */ private Eve...

2020-06-13 15:37:22 1828 3

原创 SpringBoot+Shiro+Thymeleaf+MyBatis网站后台管理系统(附源码)

内置功能1. 用户管理:用户是系统操作者。2. 部门管理:配置系统组织机构。3. 岗位管理:岗位是用户所属职务。4. 菜单管理:配置系统菜单(支持控制到按钮)。5. 角色管理:角色菜单权限分配。6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。7. 操作日志:系统操作日志记录(含异常)。8. 登录日志:系统登录情况记录(含异常)。9. 在线用户:当前系统中活跃用户状态监控。(可强退)10. 定时任务:动态添加、修改和删除定时任务管理。11. 代码生成:

2020-06-12 23:53:17 1497 2

原创 Java反射—Array类的使用

不用说大家也知道java.lang.Array是对Java反射包中数组操作的一个类。JavaSE8的文档中对Array的描述是这样说的: The Array class provides static methods to dynamically create and access Java arrays. Array类提供静态方法来动态创建和访问Java数组。访问不难理解,动态创建可以细看一下。 让我们先看看java.util.Arrays 注意是Arr...

2020-06-12 16:33:02 212

空空如也

空空如也

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

TA关注的人

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