摘要: Executors 为 Executor,ExecutorService,ScheduledExecutorService, ThreadFactory 和 Callable 类提供了一些工具方法。 Executors 可以用于方便的创建线程池 阅读全文
posted @ 2020-07-05 22:00 咔啡 阅读(365) 评论(0) 推荐(0)
摘要: 这是我在写 Java 并发程序的时候遵循的一些最佳实践: a)给线程命名,这样可以帮助调试。 b)最小化同步的范围,而不是将整个方法同步,只对关键部分做同步。 c)如果可以,更偏向于使用 volatile 而不是 synchronized。 d)使用更高层次的并发工具,而不是使用 wait() 和  阅读全文
posted @ 2020-07-05 21:57 咔啡 阅读(252) 评论(0) 推荐(0)
摘要: 构造器不能被继承,因此不能被重写,但可以被重载。 阅读全文
posted @ 2020-07-05 21:18 咔啡 阅读(246) 评论(0) 推荐(0)
摘要: 一种实践是用 volatile 修饰 long 和 double 变量,使其能按原子类型来读写。 double 和 long 都是 64 位宽,因此对这两种类型的读是分为两部分的,第一次 读取第一个 32 位,然后再读剩下的 32 位,这个过程不是原子的,但 Java 中 volatile 型的 l 阅读全文
posted @ 2020-07-05 20:33 咔啡 阅读(318) 评论(0) 推荐(0)
摘要: 微服务,又称微服务 架构,是一种架构风格,它将应用程序构建为以业务领域为 模型的小型自治服务集合 。 通俗地说,你必须看到蜜蜂如何通过对齐六角形蜡细胞来构建它们的蜂窝状物。 他们最初从使用各种材料的小部分开始,并继续从中构建一个大型蜂箱。这些细 胞形成图案,产生坚固的结构,将蜂窝的特定部分固定在一起 阅读全文
posted @ 2020-07-05 20:29 咔啡 阅读(335) 评论(0) 推荐(0)
摘要: 不是。Java 中的基本数据类型只有 8 个:byte、short、int、long、float、double、 char、boolean;除了基本类型(primitive type),剩下的都是引用类型(reference type),Java 5 以后引入的枚举类型也算是一种比较特殊的引用类型。 阅读全文
posted @ 2020-07-05 20:27 咔啡 阅读(546) 评论(0) 推荐(0)
摘要: UML 是统一建模语言(Unified Modeling Language)的缩写,它发表于 1997 年,综合了当时已经存在的面向对象的建模语言、方法和过程,是一个支持模型 化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支 持。 使用 UML 可以帮助沟通与交流,辅助应用设计 阅读全文
posted @ 2020-07-05 19:16 咔啡 阅读(547) 评论(0) 推荐(0)
摘要: JdbcTemplate 类提供了很多便利的方法解决诸如把数据库数据转变成基本数据 类型或对象,执行写好的或可调用的数据库操作语句,提供自定义的数据错误处 理。 阅读全文
posted @ 2020-07-05 19:12 咔啡 阅读(121) 评论(0) 推荐(0)
摘要: Math.round(11.5)的返回值是 12,Math.round(-11.5)的返回值是-11。四舍五 入的原理是在参数上加 0.5 然后进行下取整。 阅读全文
posted @ 2020-07-05 15:38 咔啡 阅读(365) 评论(0) 推荐(0)
摘要: &运算符有两种用法:(1)按位与;(2)逻辑与。&&运算符是短路与运算。逻辑与 跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是 true 整个表达式的值才是 true。&&之所以称为短路运算是因为,如果&&左边的 表达式的值是 false,右边的表达式会被直接短路掉,不会进行运 阅读全文
posted @ 2020-07-05 15:29 咔啡 阅读(455) 评论(0) 推荐(0)
摘要: goto 是 Java 中的保留字,在目前版本的 Java 中没有使用。(根据 James Gosling (Java 之父)编写的《The Java Programming Language》一书的附录中给出 了一个 Java 关键字列表,其中有 goto 和 const,但是这两个是目前无法使用 阅读全文
posted @ 2020-07-05 15:26 咔啡 阅读(308) 评论(0) 推荐(0)
摘要: 不可以,静态方法只能访问静态成员,因为非静态方法的调用要先创建对象,在 调用静态方法时可能对象并没有被初始化。 阅读全文
posted @ 2020-07-05 15:23 咔啡 阅读(360) 评论(0) 推荐(0)
摘要: String 类是 final 类,不可以被继承。 补充:继承 String 本身就是一个错误的行为,对 String 类型最好的重用方式是关 联关系(Has-A)和依赖关系(Use-A)而不是继承关系(Is-A)。 阅读全文
posted @ 2020-07-05 14:31 咔啡 阅读(230) 评论(0) 推荐(0)
摘要: 方法很多,可以自己写实现也可以使用 String 或 StringBuffer/StringBuilder 中 的方法。有一道很常见的面试题是用递归实现字符串反转,代码如下所示: public static String reverse(String originStr) { if(originSt 阅读全文
posted @ 2020-07-05 14:29 咔啡 阅读(470) 评论(0) 推荐(0)
摘要: 两个对象,一个是静态区的”xyz”,一个是用 new 创建在堆上的对象。 阅读全文
posted @ 2020-07-05 13:51 咔啡 阅读(765) 评论(0) 推荐(0)
摘要: Serial 与 Parallel 在 GC 执行的时候都会引起 stop-the-world。它们之间主要 不同 serial 收集器是默认的复制收集器,执行 GC 的时候只有一个线程,而 parallel 收集器使用多个 GC 线程来执行。 阅读全文
posted @ 2020-07-05 13:48 咔啡 阅读(960) 评论(0) 推荐(0)
摘要: SVG表示(scalable vector graphics)可缩放矢量图形。这是一个基于文本的图形语言,它可以绘制使用文本、线、点等的图形,因此可以轻巧又快速地渲染。 阅读全文
posted @ 2020-07-05 13:24 咔啡 阅读(1593) 评论(0) 推荐(0)
摘要: 静态变量是被 static 修饰符修饰的变量,也称为类变量,它属于类,不属于类的 任何一个对象,一个类不管创建多少个对象,静态变量在内存中有且仅有一个拷 贝;实例变量必须依存于某一实例,需要先创建对象然后通过对象才能访问到它。 静态变量可以实现让多个对象共享内存。 补充:在 Java 开发中,上下文 阅读全文
posted @ 2020-07-05 13:08 咔啡 阅读(557) 评论(0) 推荐(0)
摘要: 不是线程安全的操作。它涉及到多个指令,如读取变量值,增加,然后存 储回内存,这个过程可能会出现多个线程交差。 阅读全文
posted @ 2020-07-05 13:00 咔啡 阅读(1275) 评论(0) 推荐(0)
摘要: Representational State Transfer(REST)/ RESTful Web 服务是一种帮助计 算机系统通过 Internet 进行通信的架构风格。这使得微服务更容易理解和实现。 微服务可以使用或不使用 RESTful API 实现,但使用 RESTful API 构建松散耦 阅读全文
posted @ 2020-07-05 12:37 咔啡 阅读(718) 评论(0) 推荐(0)