
工作
文章平均质量分 67
Ha_Pipi
这个作者很懒,什么都没留下…
展开
-
JVM系统学习
内存结构概述堆内存与垃圾回收堆内存分配伊甸园区 s1 s2 Old 年轻代为伊甸园区和幸存去1、2,空间占比为8:1:1,老年代为Old,新生代与老年代空间占比为1:2。垃圾回收过程1.开始创建对象时,如果大对象无法放入伊甸园区,会直接放入老年代。2.当伊甸园区空间满了进行第一次垃圾回收,将有用对象放入s1区,对象年龄+1。3.当伊甸园区空间满了和s1空间一起进行第二次垃圾回收,将有用对象放入s2区,对象年龄+1。4.当幸存区的对原创 2022-04-22 16:36:42 · 860 阅读 · 0 评论 -
管理理论效应
序言生活中有许多现象,人们通过这些现象提炼了一些规律,希望通过下面的学习让大家有所启发1、蝴蝶效应:上个世纪70年代,美国一个名叫洛伦兹的气象学家在解释空气系统理论时说,亚马逊雨林一只蝴蝶翅膀偶尔振动,也许两周后就会引起美国得克萨斯州的一场龙卷风。 蝴蝶效应是说,初始条件十分微小的变化经过不断放大,对其未来状态会造成极其巨大的差别。有些小事可以糊涂,有些小事如经系统放大,则对一个组织、一个国家来说是很重要的,就不能糊涂。2、青蛙现象:把一只青蛙直接放进热水锅里,由于它对不良环境原创 2022-04-11 18:00:27 · 274 阅读 · 0 评论 -
mac idea 快捷键
Command + Option + L 格式化Option + Enter 导入包,自动修正Command + N 查找类Command + Shift + N查找文件Command + Option + L格式化代码Command + Option + O优化导入的类和包Ctrl +Enter生成代码Command + E打开最近更改的代码Command + R替换Command + F查找Option + Shift + C 对比最近修改代码Shift +原创 2022-04-11 17:51:26 · 2871 阅读 · 0 评论 -
综合素质考试重点
一、职业理念1.教育观(强调素质教育)2.教师观3.学生观(强调以人为本)原创 2021-07-22 16:13:31 · 430 阅读 · 0 评论 -
一次数据清洗引发的思考
参考:https://blog.youkuaiyun.com/u013084266/article/details/112238267现象:springboot项目读文件流进行数据清洗,本地环境可以读取到数据源,部署到test环境和st环境则报错读不到数据源:cannot be resolved to absolute file path because it does not reside in the file system: jar...原创 2021-07-16 16:03:45 · 223 阅读 · 0 评论 -
Exception和Error有什么区别
1.NoClassDefFoundError和ClassNotFoundException有什么区别NoClassDefFoundError内存异常,不可恢复ClassNotFoundException动态加载异常,可恢复2.Throw early, catch late原则让问题“throw early”,对应的异常信息就非常直观了。在更高层面catch,因为有了清晰的(业务)逻辑,往往会更清楚合适的处理方式是什么。...原创 2021-07-13 17:54:06 · 142 阅读 · 0 评论 -
从ReentrantLock的实现看AQS的原理及应用
文章结构概揽Java中的大部分同步类(Lock、Semaphore、ReentrantLock等)都是基于AbstractQueuedSynchronizer(简称为AQS)实现的。AQS是一种提供了原子式管理同步状态、阻塞和唤醒线程功能以及队列模型的简单框架。本文会从应用层逐渐深入到原理层,并通过ReentrantLock的基本特性和ReentrantLock与AQS的关联,来深入解读AQS相关独占锁的知识点,同时采取问答的模式来帮助大家理解AQS。由于篇幅原因,本篇文章主要阐述AQS中独占锁的逻辑和原创 2021-04-12 14:58:27 · 220 阅读 · 0 评论 -
微信朋友圈评论功能设计实现
参考https://www.harris1024.com/archives/71.htmlhttps://www.jianshu.com/p/e37bd781e6ddhttps://blog.youkuaiyun.com/weixin_31427047/article/details/113238285?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242创建表消息表原创 2021-04-02 17:19:23 · 1921 阅读 · 0 评论 -
效应大全
1、蝴蝶效应:上个世纪70年代,美国一个名叫洛伦兹的气象学家在解释空气系统理论时说,亚马逊雨林一只蝴蝶翅膀偶尔振动,也许两周后就会引起美国得克萨斯州的一场龙卷风。 蝴蝶效应是说,初始条件十分微小的变化经过不断放大,对其未来状态会造成极其巨大的差别。有些小事可以糊涂,有些小事如经系统放大,则对一个组织、一个国家来说是很重要的,就不能糊涂。2、青蛙现象:把一只青蛙直接放进热水锅里,由于它对不良环境的反应十分敏感,就会迅速跳出锅外。如果把一个青蛙放进冷水锅里,慢慢地加温,青蛙并不会立即跳出锅外,原创 2020-12-16 15:02:38 · 737 阅读 · 1 评论 -
后端架构师技术图谱
《后端架构师技术图谱》https://github.com/xingshaocheng/architect-awesome《Backend Developer Learning Road Map》 https://roadmap.sh/backend原创 2020-12-10 16:08:41 · 220 阅读 · 0 评论 -
数据库优化
1.监控sql2.连接3.数据库设计之初4.索引5.sql语句6.设置mysql的参数7.分布式集群如何设计原创 2020-11-14 11:18:22 · 152 阅读 · 0 评论 -
Mysql Error 1142错误解决方法
登陆mysql打cmd命令终端,如bai果已经添加了mysql的环境du变量,可以直接使用命令zhimysql -uroot显示所有数据库mysql>SHOW DATABASES;Error:ALTERcommanddeniedtouser'xxxx'@'localhost'fortable'uc_notelist' Errno:1142 SQL::ALTERTABLEuc_notelistADDCOLUMNapp1tinyintNOTNULL 说明xxx...原创 2020-07-06 14:24:22 · 7291 阅读 · 0 评论 -
Kafka
一、生产者1.一个应用程序在很多情况下需要往kafka写入消息:记录用户的活动(用于审计和分析)、记录度量指标、保存日志消息、记录智能家电的信息、与其他应用程序进行异步通讯、缓冲即将写入的数据库数据等。...原创 2020-05-08 16:39:32 · 221 阅读 · 0 评论 -
什么是 Spring Cloud
什么是SpringCloud:个人的理解,SpringCloud就是一个能够帮助你快速搭建起微服务架构的框架。那么就可以开始准备使用Spring Cloud 开发了。下面总结一下前期我们需要做哪些准备工作。第一,拆分业务。最好从几点出发:首先,业务的职责要独立和单一,按照这个原则将整个需求拆分为各个小的独立业务之后,再梳理出业务之间的依赖和关联关系,最后,将业务以微服务为单位划分,...原创 2020-03-01 23:29:53 · 266 阅读 · 0 评论 -
安装brew报错
react native搭建环境,安装homebrew的时候,在终端输入/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"提示:curl: (7) Failed to connect to raw.githubusercontent.c...转载 2020-02-29 10:47:12 · 776 阅读 · 0 评论 -
大数据面试题——如何从大量数据中找出高频词
问题描述:有一个1GB大小的文件,文件里面每一行是一个词,每个词的大小不超过16B,内存大小限制为1MB,要求返回频数最高的100个词。分析:由于文件大小为1GB,而内存的大小只有1MB,因此不能一次把所有的词读入到内存中去处理,可以采用分治的方法进行处理:把一个文件分解为多个小的子文件,从而保证每个文件的大小都小于1MB,进而可以直接被读取到内存中处理。解题思路:1、遍历文件...转载 2020-02-16 12:22:27 · 818 阅读 · 0 评论 -
kafka企业级入门
1.kafka概述什么是kafka?kafka是一个消息系统,消息中间件,是一个高吞吐量的分布式发布订阅消息系统。2.kafka角色介绍broker:kafka集群包含一个或多个服务器,服务器即brokertopic:每条发布到kafka集群的消息都有一个类别,类别即topicmessage:消息,由定长的消息头和变长的消息体组成partition:partition是...原创 2020-02-16 00:08:35 · 349 阅读 · 0 评论 -
项目技术架构
项目采用前后端分离的技术架构,服务端采用的是springmvc,springboot,Springcloud等Spring全家桶技术。系统分为用户端(pc、app、h5)、cdn(内容分发缓存层),负载均衡(ngix),ui层,微服务(服务网关,接口层,业务实现),数据层(mybatis,redis)等组成。除此之外,还包括我们使用的开发工具,如:maven,kibana日志跟踪,jira,x...原创 2020-02-14 16:27:32 · 3025 阅读 · 0 评论 -
类加载顺序
父类的静态字段——>父类静态代码块——>子类静态字段——>子类静态代码块——>父类成员变量(非静态字段)——>父类非静态代码块——>父类构造器——>子类成员变量——>子类非静态代码块——>子类构造器单字总结:父静字块,子静字块;父字块构,子字块构。...原创 2020-02-14 12:40:10 · 273 阅读 · 0 评论 -
spring bean的生命周期
Bean 的生命周期如上图所示,Bean 的生命周期还是比较复杂的,下面来对上图每一个步骤做文字描述: Spring启动,查找并加载需要被Spring管理的bean,进行Bean的实例化 Bean实例化后对将Bean的引入和值注入到Bean的属性中 如果Bean实现了BeanNameAware接口的话,Spring将Bean的Id传递给setBeanName()方...原创 2020-02-14 12:24:02 · 638 阅读 · 0 评论 -
Mysql锁机制
一、概述数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL自然也不能例外。MySQL数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎所针对的应用场景特点都不太一样,为了满足各自特定应用场景的需求,每种存储引擎的锁定机制都是为各自所面对的特定场景而优化设计,所以各存...转载 2020-02-11 21:04:37 · 180 阅读 · 0 评论 -
数据库的隔离级别
为什么会出现“脏读”?因为“select”操作没有规矩。为什么会出现“不可重复读”?因为“update”操作没有规矩。为什么会出现“幻读”?因为“insert”和“delete”操作没有规矩。一般的数据库都包括以下四种隔离级别:读未提交(read uncommitted)读提交(read committed):是sql server 和 oracle的默认隔离级别可重...原创 2020-02-11 11:12:44 · 197 阅读 · 0 评论 -
redis内容删除
问题:如果假设你设置了一批 key 只能存活1个小时,那么接下来1小时后,redis是怎么对这批key进行删除的?定期删除+惰性删除定期删除:redis是默认每隔100ms就随机抽取一些设置了过期时间的key,检查其是否过期,过期则删除。注意这里是随机抽取的,为什么要随机呢?你想一想假如redis存了几十万个key,每隔100ms就遍历设置的所有过期的key的话,会给cpu带来很大的负载。...翻译 2020-02-09 19:58:20 · 456 阅读 · 0 评论 -
计算机网络
1.局域网:覆盖范围小,自己花钱购买设备,带宽固定,自己维护 广域网:距离远,花钱租带宽 Internet:ISP 自己的机房 对网民提供访问Internet连接2.域名访问过程(数据包和数据帧)3.OSI参考模型应用层:所有能产生网络流量的程序表示层:在传输之前是否进行加密或压缩处理 二进制 ASCII会话层:查木马 netstat -n 查看会话是哪个进程...原创 2020-01-31 12:16:38 · 433 阅读 · 0 评论 -
海龟git操作教程
TortoiseGit 简称 tgit, 中文名海龟Git.下载:下载git(msysgit)和tortoisegit地址:http://rj.baidu.com/search/index/?kw=git对于tgit,也可以在官网下载https://tortoisegit.org(其中包含了语言包)请根据自己的系统选择是32位还是64位,注意给出的下载链接中如果没有原创 2016-12-15 16:42:49 · 4930 阅读 · 0 评论 -
Oracle创建表空间、用户、导入库。
http://jingyan.baidu.com/article/d5c4b52bc25a1dda560dc5c0.html在做项目中,数据库必不可少。该经验用简单的操作,实现在本机创建数据库,以便项目使用(可以回家加班喽!)。希望对大家有帮助。1.安装完Oracle Database 10G,2个服务已经启动(OracleOraDb10g_home1TNSListener、O翻译 2016-12-19 14:27:46 · 577 阅读 · 0 评论 -
同步与异步的通俗解释
人物:你,我;事件:吃饭;同步:你叫我吃饭,我听到回复你,然后一起去吃饭。如果我没有听到或者回复你,你就会一直叫我去吃饭,一直等我,知道我和你一起去吃饭为止。异步:你去吃饭,喊了我一声,然后自己直接去吃饭了,我的行为不会对你造成影响。我可以和你一起去吃,也可以等我把手头的事情忙完再去吃。这之间你可以完成很多事情, 不会受到我的影响。在现实生活中,打电话是同步,发消息是异步原创 2017-01-04 14:21:15 · 1608 阅读 · 0 评论 -
String,StringBuilder和StringBuffer的异同
是否可变:String不可变,StringBuilder和StringBuffer可变;是否安全:StringBuilder不安全,Sring和StringBuffer线程安全。注意:如果程序不是多线程的,那么使用StringBuilder效率高于StringBuffer。原创 2017-01-04 19:50:27 · 422 阅读 · 0 评论 -
静态方法与非静态方法的区别
1.非静态方法可以访问类中的任何成员,静态方法只能访问类中的静态成员。2.静态成员属于类所有,非静态成员属于类的实例所有。3.静态方法效率要比实例化高,但是安全性稍低。4.对于生命周期而言,静态方法在类装载的时候被装载到内存(Memory),不自动进行销毁,会一直存在于内存中,直到JVM关闭。而非静态方法,实例化后才会分配内存,必须通过类的实例来引用。不会常驻内存,当实例对象被JVM原创 2017-01-05 11:15:41 · 861 阅读 · 0 评论 -
java基础
1.java标志符 自己起名字;可以包含字母,下划线,美元符号和数字;不能以数字开头;区分大小写。2.关键字 特定字符;全部小写。翻译 2017-01-16 18:57:43 · 352 阅读 · 0 评论 -
windows系统卸载oracle数据库
因为Oracle在windows下的卸载颇有些麻烦,如果不能完全卸载可能会影响再次安装。常规卸载方法是运行oracle的自带卸载程序,但这并不能完全卸载。下面介绍一种彻底卸载oracle数据库的方法:1.关闭oracle的所有服务,可以在windows的服务管理器中关闭;2.打开注册表(开始--运行--regedit),找到:HKEY_LOCAL_MACHINE/SYSTEM/Curr原创 2017-01-17 16:10:50 · 586 阅读 · 0 评论 -
集合面试
1.Collection,Set和List的区别 Collection对象之间没有指定的顺序,允许有重复元素和多个null对象,它是Set和List接口的父类,是一种最通用型的接口。 Set各个对象之间没有指定的顺序,不允许有重复元素,最多只能有一个null对象。 List各个对象之间有指定的顺序,允许有重复元素和多个null对象。 Collection是Set和L翻译 2017-02-08 14:17:51 · 314 阅读 · 0 评论 -
git命令行操作
目录集中式vs分布式...2创建版本库...2时光穿梭机...4版本回退...4工作区与暂存区(stage)...4管理修改...4撤销修改...4删除文件...5远程仓库...5sshkey设置...5添加远程库...6从远程库克隆...8翻译 2017-02-27 18:21:29 · 550 阅读 · 0 评论 -
tgit操作
TortoiseGit使用教程TortoiseGit简称 tgit,中文名海龟Git.下载:下载git(msysgit)和tortoisegit地址:http://rj.baidu.com/search/index/?kw=git对于tgit,也可以在官网下载https://tortoisegit.org(其中包含了语言包)请根据自己的系原创 2017-02-27 18:16:56 · 1641 阅读 · 0 评论 -
泛型的优点
泛型优点有2:1.将运行时的错误转换到了编译时期;2.避免了强制转换的麻烦。原创 2017-02-09 20:44:19 · 770 阅读 · 0 评论 -
get和post请求的区别
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。转载 2016-12-28 21:43:26 · 380 阅读 · 0 评论 -
springmvc原理
springmvc框架原理图请求响应——>分发器委托——>ViewAndModel处理器——>——>handlerMappinghandlerAdapter htmlI ^modeljsonI I andJSPvI view原创 2017-02-09 21:19:03 · 236 阅读 · 0 评论 -
servlet浅析
初学javaweb开发,请远离各种框架,从servlet学习开始。 一、servlet简介 servlet是server与applet的缩写,是服务器端小程序的意思。没有main方法,它的创建、使用和销毁都在servlet容器中进行管理。它可以处理和http相关的所有内容。提供servlet功能的服务器叫做servlet容器,如tomcat、jetty。。。二、servl翻译 2017-02-10 09:30:10 · 811 阅读 · 0 评论 -
API
API:应用程序编程接口,是一些预先定义的函数,我们可以通过查找API文档进行函数功能作用及使用的学习。原创 2017-02-10 13:56:24 · 560 阅读 · 0 评论 -
session与cookie
1.cookie的数据放在客户端,session的数据放在服务器端;2.cookie不是很安全,别人可以分析存放在本地的cookie进行cookie欺诈,考虑到安全性建议session;3.session会在一定时间内保存在服务器上,当访问增多,会比较占用你服务器的性能。考虑到这一点建议使用cookie;4.单个cookie保存的数据不能超过4k,很多浏览器限制一个站点最多保存20个c翻译 2017-02-10 13:57:05 · 279 阅读 · 0 评论