自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 出现的问题

\1. ProtobufProxy.create(Message.class) 编解码器在起服就创建并缓存,不用每次编码都创建一个,很耗时间。 \2. 目前地图数据在数据库中,每次都查表。建议配置表实现,将地图等数据配置在配置表中,起服读取到缓存中,后续使用直接从缓存中获取。 3.业务将场景的玩家等数据入库了。包含在这场景中的玩家,这数据不需要入库,玩家记录了所在参加就行了,玩家登录的时候就自动进入改场景,登出就退出场景。场景中保存的玩家数据应该是实时的。 4.用ChannelHandlerContext对

2020-08-17 12:15:27 255

原创 Java 8新特性 函数式接口&方法引用&lambda表达式

public interface Iface { void doit(Integer i,String s);}public class Mapmap { public static Map<Integer,Iface> map=new HashMap<Integer,Iface>();}public class Functiondemo { { Mapmap.map.put(1,this::m1); Mapm...

2020-08-17 12:09:10 225

原创 logback的使用

logback的使用: 配置登录环境。您可以通过几种或多或少的复杂方法来执行此操作。 在希望执行日志记录的每个类中,Logger通过调用org.slf4j.LoggerFactory该类的 getLogger()方法,将当前类名称或该类本身作为参数传递来检索 实例 。 通过调用其记录方法(即debug(),info(),warn()和error()方法)使用此记录器实例。这将在配置的附加程序上生成日志记录输出。 logback分为三个模块:logback-core,logbac

2020-08-17 12:05:02 2246

原创 用户的缓存

首先

2020-08-17 11:43:48 173

原创 一个消息格式校验模块

2020-08-15 21:14:28 142

原创 消息队列

消息队列:消息队列的用途(优点):1.应用解耦:解决不同重要程度、不同能力级别的系统之间的依赖。解决依赖导致的一死全死的情况。2.流量削峰:主要解决顺势写压力大于应用服务能力导致消息丢失,系统崩溃的问题。3.数据分发:解耦、数据恢复、缓冲、灵活性&峰值处理能力、异步通信缺点:1.系统可用性降低(mq过于核心,存在mq宕机问题);引出如何解决高可用问题2.系统的复杂度提升:消息重复消费问题?数据丢失问题?消息传递的顺序?3.一致性问题重点:作为缓存消息的一个作用

2020-08-15 21:12:35 159

原创 计算机组成原理

计算机组成原理计算机系统:硬件:计算机的实体,如主机、外设等软件:由具有各类特殊功能的信息(程序)组成系统软件:用来管理整个计算机系统:语言处理程序、操作系统、服务性程序、数据库管理系统、网络软件应用软件:按任务需求编制的程序冯诺依曼体系:(存储程序的集器)五大部分组成:运算器(算数运算、逻辑运算)、控制器(指挥控制程序的运行)、存储器(存放数据和程序)、输入设备、输出设备指令和数据以同等的地位存储于存储器,可按地址访问指令和数据用二进制表示指令由操作码和地址码组成

2020-08-15 21:09:22 254

原创 分布式系统

分布式系统:原因:1.高性能:并行。大量的CPU、内存、磁盘。2.容错性和性能3.天然物理分散4.达到某种安全的性质分布式复杂的原因:挑战:部分失败小心设计论文:MapReduceRaft:复制,实现容错性分片键值处理:分片是指在多个服务器之间对数据进行拆分或分区来获得并行加速讨论的内容:存储(主要内容)通信运算构建分布式系统需要:RPC的目标是试图掩盖我们正在不可靠网络上通信的事实线程:线程提供了一种结构化的并发操作方式为的是简化

2020-08-15 21:06:10 100

原创 TCP/IP

TCP/IP概述:分层(四层协议)链路层:处理与电缆(或者其他任何传输媒介)的物理接口细节网络层:处理分组在网络中的活动,例如怎组选路传输层:为两台主机上的应用提供端到端的通讯应用层:处理特定的应用程序细节下三层主要在操作系统中完成的。分层的好处:为上层隐藏底层的一些细节往上越靠近用户进程(处理应用程序细节),往下越靠近内核(处理通讯细节)端系统:中间系统:应用层和运输层使用端到端的协议网络层提供逐跳的协议网络IP提供的是一种不可靠的服务,它只是尽可能快的

2020-08-15 21:04:20 94

原创 JUC

2020-08-13 12:09:27 114

原创 Java学习笔记 —— JDK 8 对于null 的判断 Optional

package com.example.demo.optional;import lombok.Data;import java.util.Optional;/** * Created with IntelliJ IDEA. * * @author: hang hang * @Date: 2020/08/12/10:39 * @Description: 对于Java 8 提供的Optional类进行学习 */public class OptionalTest { @Dat.

2020-08-12 11:41:20 748

原创 Maven Settings 示例

<?xml version="1.0" encoding="UTF-8"?><!--Licensed to the Apache Software Foundation (ASF) under oneor more contributor license agreements. See the NOTICE filedistributed with this work for additional informationregarding copyright ownersh.

2020-07-23 14:26:42 399

原创 记一次mysql 8 在windows的安装记录

Microsoft Windows [版本 10.0.16299.847](c) 2017 Microsoft Corporation。保留所有权利。C:\Windows\system32>mysqld --install consoleService successfully installed.C:\Windows\system32>mysqld --initialize --console2020-05-12T11:43:30.434174Z 0 [System] [MY-.

2020-05-12 20:07:28 293 1

原创 javascript

2.1 javascript 的介绍Java 与 javascript 有什么区别?它们没有关系,雷锋和雷峰塔的关系。2.2 javascript 的作用 ?HTML:它是整个网站的骨架。CSS:它是对整个网站骨架的内容进行美化(修饰)Javascript:它能够让整个页面具有动态效果。2.3 javascript 的组成部分ECMAScript:它是整个 javascript...

2020-05-11 11:11:41 200

原创 查找 - 索引查找(分块查找)

索引查找(分块查找):是一种性能介于顺序查找,折半查找之间的查找方式。对应的待查表是一个无序序列。在此方法中除表本身外,还需创建一个索引表。按照索引表将待查表分为若干个块。索引表的一组数据代表待查表的一个块。即查找的思想为先找到需要查找的元素的所在块,然后遍历这个块。得到需要查找的元素在待查表的位置。其中索引表包含两部分内容,...

2020-05-11 10:36:11 294

原创 二分查找树BST (Binary Search Tree)

已知的存储方式及其操作的算法复杂度:在中序遍历的意义下,每一二叉树都对应于某一序列若该序列为有序向量,则可参照二分查找的算法每次查找对应于从根到某一节点的路径时:最大比较次数 = 树高 + 1这便引出了二分查找树:定义:二分查找树(Binary Search Tree)或者是空树或者其左右子树(L 和 R)都是 BST如果 L 非空,max{L} &lt; r...

2020-05-11 10:35:24 485

原创 Android

Android

2020-05-11 10:26:39 187

原创 高并发和并发编程

第一章1.并发编程:线程安全+线程封闭+线程调度+同步容器+并发容器+AQS+JUC2.高并发解决思路与手段:扩容+缓存+队列+拆分+服务降级与熔断+数据库切分+分库分表3.基础知识讲解与核心知识准备:A.cpu多级缓存+缓存一致性+乱序顺序优化B.java内存模型+jmm规定+抽象结构+同步操作与规则C.并发优势与风险D.并发模拟+postman、jmeter...

2020-04-10 23:10:23 307

原创 面试题常见考点

java的优点 、Java三大特性 、Java是多继承吗?如何实现多继承?Java最基础的类是什么?这个类有什么方法? Object提供什么方法?访问权限修饰符有哪些? protected哪些可以访问抽象类接口区别 Final.finally.finanize区别 、final域修饰字段能保证线程安全?为什么? 你这个情况是不安全的,final修饰对象只这个对象的引用地址不能再变,但对...

2020-04-10 22:59:32 875

原创 Java面试题总结

一、Java语法Java和 c++不同点:解释型,编译型纯面向对象,面向对象兼顾面向过程更加安全单继承,多继承垃圾回收(finalize()->析构函数)java继承,封装,多态1.封装是什么:隐藏对象的属性和实现细节,仅仅对外提供接口,控制在程序中属性的读和写的访问级别。将数据和行为有机结合在一起,形成“类”2.封装有什么用:使用者->简化...

2020-04-10 22:38:16 1213

原创 JVM总结

JVMJAVA底层是C语言写的,但是Java,Javac,Jar包中的内容是java代码JVM\3. 对象创建方法,对象的内存分配,对象的访问定位。\5. GC的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路?\6. GC收集器有哪些?CMS收集器与G1收集器的特点。\7. Minor GC与Full GC分别在什...

2020-04-10 22:36:41 270

原创 Redis

Redisredis出现成因1.数据库在项目中的重要性。网站运行的瓶颈地方,排序 多表查询...很消耗系统资源,数据库久了会停掉2.存储位置对性能的影响;cpu 内存最高,其次才是硬盘,加快运行速度,搞到内存中去3.重复访问数据库带来的额外压力;数据库性能降低,解决->缓存redis的优点:5.redis 内存缓存数据库,一款内存高速缓存数据库,c开发的,数据模型为 ...

2020-04-10 22:35:18 119

原创 数据库语法

创建数据库:CREATE DATABASE 数据库名;删除数据库:drop database <数据库名>;切换数据库:use RUNOOB;创建表:CREATE TABLE table_name (column_name column_type);CREATE TABLE runoob_tbl( -> runoob_id INT ...

2020-04-10 22:32:48 153

原创 MySQL

MySql三范式第一范式:(确保每列保持原子性)所有字段值都是不可分解的原子值。第二范式:(确保表中的每列都和主键相关)在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。第三范式:(确保每列都和主键列直接相关,而不是间接相关) 数据表中的每一列数据都和主键直接相关,而不能间接相关。一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 ...

2020-04-10 22:31:28 302

原创 数据结构与算法总结

数据结构与算法1.数据结构的都有哪些数组,链表,堆,栈,图,树,二搜索叉树,平衡二叉树,(AVL,伸展树,红黑树,B树,B+树,kd树,哈夫曼树),队列,串,词典,映射(哈希,跳跃表)数据结构在Java中的映射数组——Array,链表——LinkedList,堆,栈,队列,图,二叉树——红黑树,词典——>map3.各自的特点 优点 缺点 数组 ...

2020-04-10 22:26:58 220

原创 面试容易被问到的算法题总结

写一个死锁程序。观察者模式写反转链表排序算法快排口撕算法:已知一个节点,怎么在O(1)时间内将该节点从链表中删除(答了将它后面的节点的值赋给他,然后将它后面的节点删除) 手撕算法:怎么将一个二叉排序树转换成双链表 手撕算法:合并两个有序链表 手撕算法:写一个线程安全的单例模式找到数组中出现次数大于一半的那个数字交换二叉树的父子结点。红黑树手写单例模式的饿汉式,要求线...

2020-04-10 21:38:09 453

原创 春招投递

在此记录一下我自己春招的一些记录:序号 公司 笔试 面试 结果 1 TCL 2 乐鑫 3 京东数科 4 科大讯飞 简历不合适 5 米哈游 平台后端开发 笔试3.13 3月20一面 ...

2020-04-10 21:32:58 548 3

原创 编程题方法总结

链表:遍历:BFS 和 DFS 本质上都是遍历,所以只要是需要遍历的算法,理论上都可以使用 DFS 或者 BFS。它们各自的特点和适用场景如下:1、BFS 由于是水波纹式的扩散,它可以用于一些求解最短路径以及最优化问题,或者是可以用贪心算法解决的问题上,例如第 126 题、第 127 题 单词接龙,第 207 题、第 210 题:课程表,第 279 题:完全平方数,第 994 题:腐烂...

2020-03-25 22:56:03 249

原创 消息队列

消息队列:消息队列的用途(优点): 1.应用解耦:解决不同重要程度、不同能力级别的系统之间的依赖。解决依赖导致的一死全死的情况。 2.流量削峰:主要解决顺势写压力大于应用服务能力导致消息丢失,系统崩溃的问题。 3.数据分发:解耦、数据恢复、缓冲、灵活性&峰值处理能力、异步通信缺点: 1.系统可用性降低(mq过于核心,存在mq宕机问...

2019-11-20 16:43:02 75

原创 Dubbo的基本原理

Dubbo的分层:DubboJEE出现的问题:解决方式:SOASOA的两种实现方式:web Service 、ESBSOA的缺点:Dubbo的设计思想:微内核+插件体系主要职位:生产者、消费者、注册者、监控者分布式框架要解决的问题:1.高性能、透明的RPC调用;(负载均衡、路由、协议转换、序列化)2.服务的自动注册与发现3.自动负...

2019-11-20 15:03:31 179

原创 idea的快捷键整理

psvm 快速生成main方法;ctrl+alt+V 快速生成返回值类型;lambda表达式:->ctrl + alt +B:查看接口实现类查看表达式的值:ctrl+u快捷生成局部变量:alt+enter...

2019-11-20 14:46:30 464

原创 dubboDemo

在我学习的时候根据dubbo的官方文档写了如下的一个小Demo:1.导入spring、dubbo的jar包依赖:主项目的pom.xml:dubboDemo1\pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" ...

2019-11-11 19:14:14 112

原创 操作系统总结

操作系统操作系统系统调用(API接口)内核,用户中断服务程序一定是操作系统编写的内核分类:微内核聚内核内核中再分(面向对象内核)混合结构:Macos虚拟机结构系统的引导过程:BIOS——>BOOTroom进程管理:进程控制块PCB:结构体进程绝对隔离,线程完全共享进程效率低,线程效率高CPU调度:CPU-IO突发:...

2019-10-23 22:15:19 202

原创 MySql总结

MySql三范式第一范式:(确保每列保持原子性)所有字段值都是不可分解的原子值。第二范式:(确保表中的每列都和主键相关)在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。第三范式:(确保每列都和主键列直接相关,而不是间接相关) 数据表中的每一列数据都和主键直接相关,而不能间接相关。一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 ...

2019-10-11 22:48:51 319

原创 java 并发框架 核心AQS(AbstractQueuedSynchronizer)

类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch...核心数据结构:   它维护了一个volatile int state(代表共享资源)和一个FIFO线程等待队列(Node为元素的双向链表结构)(多线程争用资源被阻塞时会进入此队列)。这里v...

2019-10-03 18:19:02 324 1

原创 java集合 Queue队列

Queue: 基本上,一个队列就是一个先入先出(FIFO)的数据结构Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Deque接 口。Queue的实现Queue的实现在Java中主要有三种,即:1.普通的队列其又分为了队列和堆(优先级队列)2.双端队列Deque3.阻塞队列:最为有名的队列实现。 阻塞队列与普通队列...

2019-10-03 11:15:51 210

原创 面经

CVTE面经:1.介绍一下自己:2.这两个项目是上线项目还是练手项目3.两个项目哪一个更能有水平:新房源,有几个人?怎么分工的?4.这个项目的架构说一下,ES怎么用的5.这个项目的表结构写一下,然后出了一道SQL查询,写出来了,但是没写的简单,没写到面试官想要的6.说一下常用的集合有哪些,刚说到ConcurrentHashMap 就说不用往下说了7.问异常的体系结构 答...

2019-09-18 21:17:58 579

原创 JVM : 类加载机制

加载—连接(验证—准备—解析)—初始化—使用—卸载加载、验证、准备、初始化和卸载的顺序是确定的,类的加载过程必须按照这种顺序按部就班地开始,而解析阶段则不一定:它在某些情况下可以在初始化阶段之后再开始,为了支持java语言的运行时绑定。这些阶段通常都是互相交叉的混合的使用以下五种情况必须立即对类进行“初始化”(1)遇到new、getstatic、putstatic或invokestat...

2019-03-08 14:57:30 116

原创 SpringMVC的工作流程

spring工作的流程整个Spring MVC框架中,DispatcherServlet处于核心位置,它负责协调和组织不同组件完成请求处理并返回响应的工作。和大多数Web MVC框架一样,Spring MVC所有的请求都会通过一个前端控制器Servlet。DispatcherServlet就是 Spring MVC的前端Servlet处理器。具体流程为:处理器映射器:将获取到的请求变为...

2019-03-08 14:40:10 157

原创 Rides:五种存储数据类型在底层的实现方式

目录1.引言:2、简单动态字符串(simple dynamic string)SDS <=======> STRING2.1 概述2.2 SDS 的定义2.3 SDS 与 C 字符串的区别3、双向链表 <=====>列表键3.1 概述3.2 链表的数据结构3.3 链表的特性4、字典4.1 概述4...

2019-02-19 00:56:07 1976

空空如也

空空如也

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

TA关注的人

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