12 2018 档案
摘要:深入解析Java AtomicInteger原子类型 在并发编程中,需要确保当多个线程同时访问时,程序能够获得正确的结果,即实现线程安全。线程安全性定义如下: 当多个线程访问一个类时,无论如何调度运行时环境或如何交替执行这些线程,并且主代码中不需要额外的同步或协作,该类都可以正确地运行,因此该类是线
阅读全文
摘要:让我们继续登录到我们的应用程序,并导航到Account>Login菜单项。我们将使用admin/admin作为凭据,缺省情况下,JHipster将自动创建。一切进展顺利。欢迎页面将显示确认登录成功的消息:您被登录为使用“admin”! 检查L过程:首先,网关将我们的凭证发送到UAA的OAuth2令牌
阅读全文
摘要:“&&”和”&”都是java中的逻辑运算符,并且它们都表示“逻辑与”即“同真则真,有一假则假”,它们的区别在于”&&”具有短路功能,即如果左边是false,则右边的逻辑表达式不会执行。而”&”没有短路功能,无论左边是false还是true右边都会执行。 比较上下两段代码即可发现区别。 对于”||”和
阅读全文
摘要:深入理解Class对象 RRIT及Class对象的概念 RRIT(Run-Time Type Identification)运行时类型识别。在《Thinking in Java》一书第十四章中有提到,它的功能是在运行时识别对象的类型和类信息。有两种主要方式:“传统的”RTTI(它假定我们在编译时已经
阅读全文
摘要:硒在最近的发展中被广泛应用,因为它以前没有被使用过,并且已经走了太多的坑。这是一张唱片。 1.环境配置 配置要点: 1.Web驱动程序应该与浏览器版本相对应,chrome使用chrome驱动程序和chrome浏览器,Firefox使用geckodrive和Firefox浏览器 2.支持headles
阅读全文
摘要:几天前,我的一个朋友给了我一个Haskell问题 这问题挺有趣的,也不算难。 这问题说是extensibility problem,其实有两个地方需要扩展。 0:Parser需要用open recursion之类的方法扩展 1:Parse出来的ADT也需要可扩展性 后半个需求见多了,Final Ta
阅读全文
摘要:对于那些不熟悉函数式编程的人来说,基本的Java lambda语法起初可能有点令人生畏。但是,一旦将lambda表达式分解为它们的组成部分,语法很快就会变得有意义并变得非常自然。 Java中lambda表达式的目标是实现单个方法。所有Java方法都有一个参数列表和一个正文,因此毫不奇怪这两个元素是J
阅读全文
摘要:LinkedList简介 LinkedList基于双向链表,即FIFO(先进先出)和FILO(先进后出)都是支持的,这样它可以作为堆栈,队列使用 继承AbstractSequentialList,该类我认为和RandomAccess是一个对立,它通过次序访问数据,实现了List,Deque,Clon
阅读全文
摘要:延迟加载:“懒汉模式” 延迟加载:“懒汉模式” 延迟加载是指在调用getInstance()方法时创建实例。常见的方法是在getInstance()方法中实例化new。实现代码如下: 但是因为getInstance()中有多个语句,所以可能存在线程安全问题。运行结果还表明: 即使getInstanc
阅读全文
摘要:通配符是什么 <?>指的是Object及其子类,也就是所有Java对象 泛型是什么 声明泛型 <T>声明一个泛型类或者泛型方法 示例: 使用泛型 <?>使用一个泛型类或者泛型方法 示例: 1 public static ResultDTO<?> entity(int code,Object... d
阅读全文
摘要:一、Java内存模型 硬件处理 电脑硬件,我们知道有用于计算的cpu、辅助运算的内存、以及硬盘还有进行数据传输的数据总线。在程序执行中很多都是内存计算,cpu为了更快的进行计算会有高速缓存,最后同步至主内存,大概的交互如下图 为了使处理器内部的运算单元能够被充分的利用,处理器可能会对输入代码进行乱序
阅读全文
摘要:Java中的Object对象为所有对象的直接或间接父对象,里面定义的几个方法容易被忽略却非常重要。以下来自Effective Java 对Object中几个关键方法的应用说明。 equals(Object o) Object中equals方法的实现仅仅是比较了两个对象的地址,对于某些类来说正是所需用
阅读全文
摘要:0、介绍 本篇文章是在我看完《从零开始学架构》之后,以架构演变为主线,梳理了一下演变过程中出现的问题以及解决方案,文章中引用了这本书的一些内容和图片 分布式和集群的概念经常被搞混,现在一句话让你明白两者的区别。 分布式:一个业务拆分成多个子业务,部署在不同的服务器上集群:同一个业务,部署在多个服务器
阅读全文
摘要:前言 最近需要开发一个纯API的项目,mlsql-cluster,从无到有,到最后完整的proxy功能开发完毕,只花了四个小时不到,自己不尽小感叹了一把 ServiceFramework的高效。 关于ServiceFramework的诞生 ServiceFramework算是一个古老的,基于Java
阅读全文
摘要:1 初步理解 理解事务之前,先讲一个你日常生活中最常干的事:取钱。 比如你去ATM机取1000块钱,大体有两个步骤:首先输入密码金额,银行卡扣掉1000元钱;然后ATM出1000元钱。这两个步骤必须是要么都执行要么都不执行。如果银行卡扣除了1000块但是ATM出钱失败的话,你将会损失1000元;如果
阅读全文
摘要:一、算法介绍 快速排序:快速排序的基本思想是通过一次排序将等待的记录分成两个独立的部分,其中一部分记录的关键字小于另一部分的关键字。C部分的快速排序一直持续到整个序列被排序。 任取一个元素 (如第一个) 为中心提出所有小于它的元素,并将大于它的元素放回,形成左右两个子表。为每个子表重新选择中心元素,
阅读全文
摘要:本文的目的是讨论抽象类和接口的作用、示例和使用场景,这是我的理解和总结。对于接口和抽象类的更多概念性知识,你可以自己参考相关文档。 1. 抽象类及其作用 抽象类,顾名思义,即类的抽象。 当引入面向对象的概念时,我们知道类是客观事物的抽象,抽象类是类的进一步抽象。如何理解它们? 例如,我们定义了宝马、
阅读全文
摘要:排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序。 内部排序是数据记录在内存中进行排序。 而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序
阅读全文
摘要:本文的重点在于如何构建一个高性能的MySQL索引,从中你可以学到如何分析一个索引是不是好索引,以及如何构建一个好的索引。 索引误区 多列索引 一个索引的常见误区是为每一列创建一个索引,如下面创建的索引: t表里有三列,并且为每列创建了一个索引。创建索引的人为了能够快速访问表中的任何一列,因此为每一列
阅读全文
摘要:排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序。 内部排序是数据记录在内存中进行排序。 而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序
阅读全文
摘要:排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序。 内部排序是数据记录在内存中进行排序。 而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序
阅读全文
摘要:SSM框架,是Spring + Spring MVC + MyBatis的缩写,这个是继SSH之后,目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统。 1.Spring简介 Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由Rod
阅读全文