02 2022 档案
MySQL - 事务隔离级别
摘要:MySQL - 事务隔离级别 READ-UNCOMMITTED(读取未提交): 最低的隔离级别,允许读取尚未提交的数据变更,可能会导致脏读、幻读或不可重复读。 READ-COMMITTED(读取已提交): 允许读取并发事务已经提交的数据,可以阻止脏读,但是幻读或不可重复读仍有可能发生。 REPEAT
JAVA - 如何判断一个类是无用的类
摘要:JAVA - 如何判断一个类是无用的类 方法区主要回收的是无用的类,那么如何判断一个类是无用的类的呢? 判定一个常量是否是“废弃常量”比较简单,而要判定一个类是否是“无用的类”的条件则相对苛刻许多。类需要同时满足下面 3 个条件才能算是 “无用的类” : 该类所有的实例都已经被回收,也就是 Java
JAVA - 死锁
摘要:JAVA - 死锁 死锁示例 public class LockTest { public static void main(String[] args) { Object resource1 = new Object(); Object resource2 = new Object(); new
Docker搭建大数据集群 Hadoop Spark HBase Hive Zookeeper Scala
摘要:# Docker搭建大数据集群 ```txt 给出一个完全分布式hadoop+spark集群搭建完整文档,从环境准备(包括机器名,ip映射步骤,ssh免密,Java等)开始,包括zookeeper,hadoop,hive,spark,eclipse/idea安装全过程,3-4节点,集群部署自己确定,
MySQL - 数据库的隔离级别
摘要:MySQL - 数据库的隔离级别 隔离级别 脏读(Dirty Read) 不可重复读(NonRepeatable Read) 幻读(Phantom Read) 未提交读(Read uncommitted) 可能 可能 可能 已提交读(Read committed) 不可能 可能 可能 可重复读(Re
MVC - Request对象的主要方法
摘要:MVC - Request对象的主要方法 setAttribute(String name,Object):设置名字为name的request的参数值 getAttribute(String name):返回由name指定的属性值 getAttributeNames():返回request对象所有属
MVC - forward 和 redirect 的区别
摘要:MVC - forward 和 redirect 的区别 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。 redirect就是服务端根据逻辑,发
Redis - 持久化 AOF 和 RDB
摘要:Redis - 持久化 AOF 和 RDB AOF AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。 AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。 Redis 还可以在后台对 AOF 文件进行重写(rewri
MVC - MVC的工作流程
摘要:MVC 是Model-View-Controller的简写。”Model” 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), “View” 是应用的表示面,用于与用户的交互(由JSP页面产生),”Controller” 是提供应用的处理过程控制(一般是一个Servlet),通过这种设
JAVA - 类的加载过程
摘要:JAVA - 类的加载过程 JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化。 加载 加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的入口。注意这里不一定非得要从一个Class文件获取,这里既可以从ZIP
Spring - AOP(面向切面编程)
摘要:Spring - AOP(面向切面编程) AOP(Aspect Orient Programming),指面向方面(切面)编程,作为面向对象的一种补充,用于处理系统中分布于各个模块的横切关注点,比如事务管理、日志、缓存等等。AOP实现的关键在于AOP框架自动创建的AOP代理,AOP代理主要分为静态代
Spring - Bean 的作用域
摘要:Spring - Bean 的作用域 singleton : 单例模式,全局公用一个 Bean 对象 prototype : 原型模式(克隆模式),每次返回一个克隆的 Bean对象 Request : 每次 Request 请求返回一个新的 Bean 对象 Session :同一个HttpSessi
JAVA - error(错误)和exception(异常)有什么区别?
摘要:JAVA - error(错误)和exception(异常)有什么区别? error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。 exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。
读书笔记 - 成为我自己
摘要:成为我自己 第1章 同理心的诞生 这个封存了73年之久的脓包,里面装满了内疚,突然在今晚胀破了。 第2章 寻找人生导师 自力更生是骄傲自豪的来源,但是它也会导致一种没有根基的感觉。 这个白日梦表达了我想要被拯救的渴望。当我是一个孩子的时候,我并不喜欢我的生活、我的街坊、我的学校、我的玩伴——我想要被
JAVA - 序列化的方式
摘要:JAVA - 序列化的方式 序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。 序列化是为了解决在对对象流进行读写操作时所引发的问题。 序
JAVA - 启动线程有哪几种方式
摘要:JAVA - 启动线程有哪几种方式 一、继承Thread类创建线程类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。 (2)创建Thread子类的实例,即创建了线程对象。 (3)调用线程对象的start()方法来
JAVA - 线程从创建到死亡的几种状态都有哪些?
摘要:JAVA - 线程从创建到死亡的几种状态都有哪些? 新建( new ):新创建了一个线程对象。 可运行( runnable ):线程对象创建后,其他线程(比如 main 线程)调用了该对象 的 start ()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取 cpu 的使用权 。 运行
JAVA - 线程同步和线程调度的相关方法
摘要:JAVA - 线程同步和线程调度的相关方法 wait():使一个线程处于等待(阻塞)状态,并且释放所持有的对象的锁;wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁
JAVA - 线程池
摘要:JAVA - 线程池 在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁
JAVA - 启动一个线程是用run()还是start()?
摘要:JAVA - 启动一个线程是用run()还是start()? 启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。 start方法是多线程的、同步的 run方
JAVA - 如果hashMap的key是一个自定义的类,怎么办?
摘要:JAVA - 如果hashMap的key是一个自定义的类,怎么办? 使用HashMap,如果key是自定义的类,就必须重写hashcode()和equals()。
JAVA - ArrayList是否会越界?
摘要:JAVA - ArrayList是否会越界? ArrayList并发add()可能出现数组下标越界异常。 ArrayList是实现了基于动态数组的数据结构。 LinkedList是基于链表的数据结构 对于随机访问get和set,ArrayList要优于LinkedList,因为LinkedList要
Java - ConcurrentHashMap的原理
摘要:Java - ConcurrentHashMap的原理 **这是JDK1.7的实现** ConcurrentHashMap 类中包含两个静态内部类 HashEntry 和 Segment。 HashEntry 用来封装映射表的键 / 值对;Segment 用来充当锁的角色,每个 Segment 对象
读书笔记 - 一生的旅程
摘要:一生的旅程 关于作者 罗伯特·艾格是华特迪士尼公司的董事长兼首席执行官。从2005年10月起,他开始担任公司的总裁兼首席执行官,之前他曾在2000年到2005年之间担任总裁兼首席运营官。1974年,艾格在ABC开启了他的职业生涯,作为ABC集团的董事长,他先是负责广播电视网、电视台以及有线电视资产的
读书笔记 - 无价
摘要:无价 威廉-庞德斯通 引言 “你要的越多,得到的就越多” 任意连贯性 该理论说,消费者其实并不知道什么东西该值多少钱。他们茫然地穿过超市货架,根据种种线索判断价格。任意连贯性首先是一种相对理论。买家的主要敏感点是相对差异,而非绝对价格。(在看不见的地方缩水) 经济学家唐纳德·考克斯(Donald C
读书笔记 - 未来世界的幸存者
摘要:未来世界的幸存者 作者简介 阮一峰 IT技术作家,长期写作个人技术博客。当过高校教师,也当过阿里巴巴集团软件工程师。曾出版译著《黑客与画家》《软件随想录》,技术专著《ES6标准入门》。(厉害,原来《黑客与画家是他译的》) 在可预见的将来,技术最终将淘汰人类。(淘汰的不是人类,是工作,结果可预见性的工
读书笔记 - 后谷歌时代
摘要:后谷歌时代 序章 回到未来 1990年,我曾经预测生活在网络计算机的世界里,人们根本不用看到不想看到的广告。遗憾的是,在谷歌的引导之下,互联网上不仅满是不受欢迎的广告,还充斥着各种机器自动转发的恶意软件。它不仅没有把权力交到每个人的手中,反而将其变成了一团龙卷风,把所有的金钱和权力刮到了顶部。(谷歌
java中快速失败(fail-fast)和安全失败(fail-safe)的区别是什么?
摘要:java中快速失败(fail-fast)和安全失败(fail-safe)的区别是什么? 一:快速失败(fail—fast)(使用原有对象) 在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出Concurrent Modification Except
JAVA - 泛型
摘要:JAVA - 泛型 泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)
JAVA - 类加载机制
摘要:JAVA - 类加载机制 某个特定的类加载器在接到加载类的请求时,首先将加载任务委托给父类加载器,依次递归,如果父类加载器可以完成类加载任务,就成功返回;只有父类加载器无法完成此加载任务时,才自己去加载。 使用双亲委派模型的好处在于Java类随着它的类加载器一起具备了一种带有优先级的层次关系。例如类
JAVA - 请说明”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?
摘要:请说明”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法? “static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问。 override:子类重写父类的方法(返回值,方法名,参数都相同)以实现多
电信客户流失预测
摘要:电信客户流失预测 项目数据 https://www.kaggle.com/blastchar/telco-customer-churn 项目概况 电信行业的客户可以从各种服务提供商中进行选择,并从一个服务提供商切换到另一个服务提供商。在这个竞争激烈的市场上,电信业务的年流失率为15-25%。 个性化
Docker打包镜像并上传
摘要:# Docker打包镜像并上传 ## 登录 账号 ```bash docker login --username=yourusername ``` 密码 ```bash yourPassword ``` ## 推送到仓库 docker镜像打标签 ```bash docker tag [ImageId
面试总结
摘要:面试总结 一、面试的本质 找工作,关乎未来三年,慎重做决定。 高效互相了解。 对自己也是匹配人和事。 二、面试六大选择 认真对待,尽力准备。 做自己,不要过于迎合对方。 不要怕失败,对于别人的评价取长补短。 面试是考察对方的过程。 表现出成人的状态(不要嬉戏打闹)。 充分把握每个机会 三、面试前的准
Java - 六原则一法则
摘要:Java - 六原则一法则 单一职责原则:一个类只做它该做的事情。(单一职责原则想表达的就是"高内聚",写代码最终极的原则只有六个字"高内聚、低耦合",所谓的高内聚就是一个代码模块只完成一项功能,在面向对象中,如果只让一个类完成它该做的事,而不涉及与它无关的领域就是践行了高内聚的原则,这个类就只有单