自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

朱登凯的专栏

业余时间喜欢写点技术博客,读点无用之书

  • 博客(15)
  • 资源 (6)
  • 收藏
  • 关注

原创 使用idea community版调试spring boot

国内使用community版idea的开发者可能不太多,所以这篇博客估计也不会有很大的访问量,我就当做了个笔记,留着自己看吧。spring boot项目组推荐使用packagging = jar的方式,这样的话,你的spring boot项目有一个main方法,这种情况的话,就跟调试一个java se项目是一样一样的。在idea中选中打开菜单Run --> Edit Configurations,点击左上角的小加

2017-12-26 10:23:47 13583 1

原创 java多线程[11]:原子操作(atomic)

原子操作指的是一个不可分割的操作,例如,读取是原子的,写入是原子的,但读取后加一再写入就不是原子的。多线程环境下,就有可能出现多个线程同时读取并修改一个公共资源的情况,如果[读取并修改]不是原子操作的话,就有可能会导致错误的结果。举例说明:假设多个线程同时操作一个累加器,累加器就是对一个公共字段就行读取后再加一写入,如果两个线程同时读取到的值都是10,加一后又同时写入了11,就会造成结果的偏差,因

2017-12-25 21:18:21 716

原创 java多线程[10]:Callable和Future

本篇要讨论的是Callable接口和Future接口。想要创建一个线程的话,除了实现Runnable接口外,还可以实现Callable接口,这样的话,在线程运行结束后可以返回一个运行结果。在上一篇博客中我们讨论了如何使用线程池来启动线程,并对比了几种不同的线程池之间的差异。

2017-12-24 20:27:15 343

原创 java多线程[9]:线程池(ExecutorService)

java多线程已经写了好几篇了,博客中使用所有demo,线程都是通过Thread类的start()方法启动的,这样的话每次都会创建一个新的线程,创建线程时会耗费一些操作系统的资源,当线程比较多时对性能有较大的影响。为了解决这个问题,java提供了好几种类型的线程池来提高运行时效率。ExecutorService接口绝大部分(如果不是全部的话)的线程池都实现了ExecutorServic

2017-12-21 08:53:49 1790

原创 java多线程[8]:Exchanger

两个线程可以通过Exchanger来交换数据,从而将自己的状态告诉对方。它是一个泛型类Exchanger<V>,泛型参数表示交换数据的类型。它定义了两个版本的exchange()方法,分别是:V exchange(V objRef) throws InterruptedExceptionV exchange(V objRef, long wait, TimeUnit tu) throws Inte

2017-12-19 21:24:21 276

原创 java多线程[7]:CyclicBarrier

cyclic的意思是周期,barrier的意思是障碍或栅栏。CyclicBarrier提供了一种很有意思的线程间保持步调一致的方案,它的工作机制是:它在初始化时设置一个周期数量,表示为n,当某个线程都调用了CyclicBarrier对象的await()方法时,当前线程会挂起,直到n个或n的整数倍个线程都调用await()方法时,这个周期完成了,将一次性唤醒所有因调用了await()方法而挂起的线程,

2017-12-18 23:14:11 275

原创 java多线程[6]:CountDownLatch

CountDown的意思是倒数,latch的意思是门锁。CountDownLatch大概可以理解为:倒数几个数之后,门就打开了。具体来讲,CountDownLatch的工作机制是:它内部维护了一个倒计时数字,每次调用countDown()方法,这个数字就减一,当这个数字降为0后,门就开了。当一个线程调用它的await()方法时,如果门没开(倒计时数字大于0)的话,则调用await方法的线程会挂起,直

2017-12-18 22:31:04 296

原创 java多线程[5]:信号量(Semaphore)

Semaphore通过计数器来控制对一个共享资源的访问,它的工作机制是:当一个线程想要访问一个共享资源时,需要向Semaphore申请访问权限,如果Semaphore的计数器大于0,则线程获得共享资源的访问权限,此时Semaphore的计数器减一。当该线程使用完共享资源后,需要释放访问权限,此时Semaphore的计数器加一。如果一个线程在申请访问权限时Semaphore的计数器为0,则当前线程就会

2017-12-17 22:25:33 980

原创 java中的反射

反射使java有了分析自己的能力,可以通过反射机制知道一个类包含哪些内容(字段,属性,方法等),还可以调用他们。反射比较经常用于java bean,例如,我在配置文件中定义了一个类的完整名字,并定义了一个方法名,我希望应用程序启动时创建一个该类的对象,并调用它的该方法。本篇博客的内容都会基于下面的这个类来操作public class A { public String msg; pub

2017-12-17 15:21:44 331

原创 java编写一个计算器

本篇博客来用java编写一个计算器,来计算一个算数表达式,这个表达式支持加减乘除和任意层次的括号嵌套(仅支持圆括号)。思路设计首先讨论一下思路。假设有一个算数表达式为(2 + 1) + 200 * 3.2 / (5 * (2 + 6 )),我们首先需要按照优先级先计算最内层括号内的表达式,然后再计算外层括号的,直到演化为一个不含括号的普通加减乘除表达式,最终得出一个结果。代码设计:...

2017-12-10 22:47:37 6725 1

原创 java中使用正则表达式

正则表达式在处理字符串时非常有用,本篇博客来讨论一下java中正则表达式的用法。在java.util.regex包下面有两个类,分别是Pattern和Matcher,前者表示一个正则表达式的模式,后者用来表示pattern与某个字符串的匹配信息。Pattern类本身没有定义构造方法,可以通过Pattern.compile()静态方法来生成一个Patte

2017-12-08 21:07:39 10172

原创 java stream api

stream api是jdk1.8中引入的,位于java.util.stream中,它基于lambda表达式,扩展了集合操作的能力。stream api比较类似apache spark的api,以及.net框架中的Linq。之所以说它扩展了集合操作的能力,是因为它的所有操作都是在一个数据集合中进行的,尽管在java中没有集成到Collection框架中,但是在其它语言中,这种操作确实跟集合或数

2017-12-07 22:54:50 895

原创 java中的lambda表达式

lambda表达式在jdk1.8中被加入进来,给古老的java语言注入了新鲜的活力。先说句题外话,我看了一些早期spark(大数据计算框架)的书,当时spark支持scala,java和python,其中,spark的很多api(如map,flatmap,filter等)在scala和python中都可以使用lambda表达式轻松搞定,很简洁,无奈的java使用匿名内部类,冗长的包名,复杂的嵌套,

2017-12-05 07:52:55 1067 1

原创 Java中的泛型

泛型(Generic)在jdk1.5被引入,它加入了一个全新的语法元素,并且好多类和方法都重新实现了泛型的版本,受之影响最大的就是Collections Framework了。本篇博客来讨论一下泛型的语法特征,并简要地讨论一下底层的实现机制。泛型类

2017-12-01 21:42:38 370

原创 hive快速上手

本篇博客和大家一起在本地搭建一个hive环境,并进行一些简单的hive操作。加入了启动hiveserver2并使用beeline客户端连接的步骤,去掉了直接使用hive cli的部分。hive允许以类似SQL的语法来操作hadoop中的数据,简单来讲,hive的default数据库对应hadoop的/user/hive/warehouse目录,这个根目录下的每个文件夹分别对应hive的数据...

2017-12-01 10:48:36 950

Sun Java System Application Server Performance Tuning Guide.pdf

Sun Java System Application Server Enterprise Edition 8.2 Performance Tuning Guide.pdf

2021-10-08

[Unity.3D游戏开发].宣雨松.扫描版.pdf

[Unity.3D游戏开发].宣雨松.扫描版.pdf 电子书,本人亲自加上了详细的书签。

2013-11-19

锋利的JQuery电子版(带源码)

《锋利的JQuery》电子书,高清,带有详细的目录,另外,还有书中用到的源码。就需要付两分,不多哦。

2012-01-09

NorthWind数据库

这是两个数据库,一个是NorthWind,另一个是Pubs,两个都是经典的数据库。包含了mdf文件盒ldf文件,适合sql server 2005及其以上版本,直接附加就可以了。

2012-01-06

空空如也

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

TA关注的人

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