
Coding 笔记
Coding 笔记
RookieMZL
这个世界只有一种成功,就是用自己喜欢的方式过一生。
展开
-
常见单机和分布式应用的登录校验解决方案
**1、**常见单机和分布式应用下登录校验单机 tomcat 应⽤用登录检验sesssion保存在浏览器器和应用服务器会话之间用户登录成功,服务端会保存一个 session,服务器会给客户端分发一个 sessionID 作为标识。客户端会把 sessionID 保存在 cookie 中,每次请求都会携带这个 sessionId。分布式应用中 session共享真实的应⽤用不不可能单节点部署,所以就有个多节点登录session共享的问题需要解决。tomcat支持 session 共原创 2020-05-20 15:03:08 · 566 阅读 · 0 评论 -
超级全面的权限系统设计方案
前言1.权限模型2.授权流程3.表结构4.权限框架5.结语前言权限管理是所有后台系统的都会涉及的一个重要组成部分,主要目的是对不同的人访问资源进行权限的控制,避免因权限控制缺失或操作不当引发的风险问题,如操作错误,隐私数据泄露等问题。目前在公司负责权限这块,所以对权限这块的设计比较熟悉,公司采用微服务架构,权限系统自然就独立出来了,其他业务系统包括商品中心,订单中心,用户中心,仓...转载 2019-12-24 15:32:55 · 427 阅读 · 0 评论 -
lombok 注解简单介绍
一、Lombok 的简单介绍和使用Lombok是一个可以帮助我们简化 Java 代码编写的工具类,通过采用注解的方式简化了 JavaBean 的编写,使我们写的类更加简洁。1、 添加 Lombok 的依赖<dependency> <groupId>org.projectlombok</groupId> <artifactId>lo...原创 2019-10-28 22:42:40 · 237 阅读 · 0 评论 -
避免 Java 代码中的“坏味道”
1、需要 Map 的主键和取值时,应该迭代 entrySet()当循环中只需要 Map 的主键时,迭代 keySet() 是正确的。但是,当需要主键和取值时,迭代 entrySet() 才是更高效的做法,比先迭代 keySet() 后再去 get 取值性能更佳。反例:Map<String, String> map = new HashMap<>();for (S...转载 2019-10-28 00:41:29 · 499 阅读 · 0 评论 -
理解 Java 序列化
一、什么是序列化序列化是一种对象持久化的手段。类通过实现 java.io.Serializable 接口以启用其序列化功能。**序列化:**把对象转换为字节序列的过程。**反序列化:**把字节序列恢复为对象的过程《阿里巴巴Java开发手册》中对于序列化有以下规定 :【强制】序列化类新增属性时,请不要修改 serialVersionUID 字段,避免反序列失败;如果完全不兼容升级,避免...原创 2019-10-26 11:16:29 · 328 阅读 · 0 评论 -
SSM基本配置
1. 首先从web.xml配置入手A: &amp;lt;!-- spring的监听器 --&amp;gt; &amp;lt;listener&amp;gt; &amp;lt;listener-class&amp;gt;org.springframework.web.context.ContextLoaderListener&amp;lt;/listener-cla原创 2019-05-31 23:05:46 · 1094 阅读 · 1 评论 -
spring batch批量处理框架
spring batch精选,一文吃透spring batch批量处理框架前言碎语批处理是企业级业务系统不可或缺的一部分,spring batch是一个轻量级的综合性批处理框架,可用于开发企业信息系统中那些至关重要的数据批量处理业务.SpringBatch基于POJO和Spring框架,相当容易上手使用,让开发者很容易地访问和利用企业级服务.spring batch具有高可扩展性的框架,简单...翻译 2018-10-14 21:08:07 · 1131 阅读 · 0 评论 -
排名前 16 的 Java 工具类
转载来自微信公众号:Java 技术栈。如有侵权,请联系作者删除!!在 Java 中,工具类定义了一组公共方法,这篇文章将介绍 Java 中使用最频繁及最通用的 Java 工具类。以下工具类、方法按使用流行度排名,参考数据来源于 Github 上随机选取的5万个开源项目源码。一.org.apache.commons.io.IOUtilscloseQuietly:关闭一个IO流、socket...转载 2019-08-01 00:12:14 · 196 阅读 · 0 评论 -
手机号码格式验证和 FASTDFS 工具类
常见大陆和香港号码格式验证import java.util.regex.Matcher;import java.util.regex.Pattern;import java.util.regex.PatternSyntaxException;public class PhoneFormatCheckUtils { // 大陆号码或香港号码均可 public stat...原创 2019-09-28 19:24:38 · 246 阅读 · 0 评论 -
使用 SpringBoot 配置发送邮件功能
1、使用 SpringBoot 配置发送邮件功能项目总体结构用户表设计SET FOREIGN_KEY_CHECKS=0;CREATE DATABASE sample;USE sample;set names utf8;-- ------------------------------ Table structure for tab_mail-- --------------...原创 2019-05-19 00:41:09 · 1374 阅读 · 0 评论 -
Java 中数组的内存分配
Java 中数组的内存分配1、Java 程序在运行时,需要在内存中分配空间。为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据和内存管理方式。2、数组基本概念 数组是存储同一种数据类型多个元素的容器。 数组既可以存储基本数据类型,也可以存储引用数据类型。 格式:数据类型[] 数组名 ; int[] arr; 数组的初始化方式: 动态初始...原创 2019-03-17 15:12:53 · 545 阅读 · 0 评论 -
基本和引用数据类型的改变
面向对象1、Java中的方法:完成特定功能的代码块。2、方法的重载和重写:方法的参数如果是基本数据类型: 形式参数的改变不影响实际参数的改变。 形式参数:用于接收实际参数的变量(在方法的声明上)。 实际参数:实际参与运算的变量。A、方法的形式是基本数据类型图解:方法区存储的是 Class 字节码文件,而 main 方法和 change 方法都在 ArgsDemo 里...原创 2019-03-17 16:32:15 · 257 阅读 · 0 评论 -
对 String 字符串的理解
1、通过构造方法创建的字符串对象和直接赋值方式创建的字符串对象区别?通过构造方法创建字符串对象是在堆内存。直接赋值方式创建对象是在方法区的常量池。==: 基本数据类型,比较的是基本数据类型的值是否相同。 引用数据类型,比较的是引用数据类型的地址值是否相同。public class StringDemo { public static void main(String[] a...原创 2019-03-18 23:34:28 · 323 阅读 · 0 评论 -
Java 中常见的数据结构
1、数据结构有什么作用?当使用 Java 里面的容器类时,你有没有想过,怎么 ArrayList 就像一个无限扩充的数组,也好像链表之类的。很好使用,这就是数据结构的用处,只不过你在不知不觉中使用了。数据结构内容比较多,细细的讲解也是相对费功夫的,不可能达到一蹴而就。我就将常见的数据结构:堆栈、队列、数组、链表和红黑树 给大家介绍一下,作为数据结构的入门,了解一下它们的特点即可。2、常见的数...原创 2019-04-20 18:09:15 · 212 阅读 · 0 评论 -
递归的思想
1、递归的思想**递归:**指在当前方法内调用自己的这种现象。递归的分类:递归分为两种,直接递归和间接递归。直接递归称为方法自身调用自己。间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法。注意事项:递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。在递归中虽然有限定条件,但是递归次数不能太多。否则也会发生栈内存溢出。构造方法,禁止递归2、...原创 2019-04-20 20:59:55 · 2228 阅读 · 0 评论 -
集合常见问题
1.1 集合概述集合的概念理解:集合 :集合就是 Java 中提供的一种容器,可以用来存储多个数据。集合和数组都是容器,它们的区别在哪?数组大的长度是固定的。集合的长度是可变的。数组中存储的是同一类型的元素,可以存储基本数据类型。集合存储的都是对象,而且对象的类型可以不一致。在开发中一般当对象多的时候,可以使用集合存储。1.2 集合框架集合按照其存储结构可分为两大类,分别是...原创 2019-04-14 22:38:13 · 378 阅读 · 0 评论 -
深入理解 Servlet
1、什么是 Servlet ?Servlet(Server Applet)是 Java Servlet 的简称,称为小服务程序或服务连接器,用 Java 编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态 Web 内容。狭义的 Servlet 是指 Java 语言实现的一个接口,广义的 Servlet 是指任何实现了这个 Servlet 接口的类,一般...原创 2019-04-22 22:47:49 · 230 阅读 · 0 评论 -
Java 数据类型总结
Java 中提供了八种数据类型:6个数字类型(四个整数型,两个浮点型)、字符类型、布尔型。依次分别是 : byte、int、short、long、float、double、char、boolean。byte类型数据占1个字节,8位,最高位表示符号,则表示范围是:-27~27-1int类型数据占4个字节,共32位,最高位表示符号,则表示范围是:-231~231-1short类型数...原创 2019-04-20 12:37:39 · 326 阅读 · 0 评论