05 2017 档案

摘要:一、通过JBarcode(此种方式可以隐藏掉条形码下面的字符串) 1.下载jar包 jbarcode-0.2.8.jar 目前maven中央仓库并没有jbarcode的坐标 如果是maven项目,需要我们自己上传jar包到自己的私服中并配置maven坐标 <!--jbarcode--> <depen 阅读全文
posted @ 2017-05-25 08:30 N!CE波 阅读(3653) 评论(0) 推荐(0) 编辑
摘要:一、对象的内存布局 已主流的HotSpot虚拟机来说, 在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding)。 1.对象头(Header) HotSpot虚拟机的对象头包括两部分信息, 第一部分用 阅读全文
posted @ 2017-05-23 21:07 N!CE波 阅读(785) 评论(0) 推荐(0) 编辑
摘要:看了下面博客就很明白了 http://www.cnblogs.com/Qian123/p/5710533.html#_label0 java对象创建方式有三种: 1.通过new对象 2.通过java克隆(分为浅克隆和深克隆) 3.通过反序列化 (是深克隆效果的很好体现) 阅读全文
posted @ 2017-05-22 12:17 N!CE波 阅读(240) 评论(0) 推荐(0) 编辑
摘要:下面的博客请详细的,值得一看:jenkins+maven+svn实现简单的一键发布 http://blog.csdn.net/pein_zero/article/details/52597615#comments<!--?xml version="1.0" encoding="UTF-8"?--> 阅读全文
posted @ 2017-05-22 11:47 N!CE波 阅读(5511) 评论(0) 推荐(0) 编辑
摘要:Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范(Java SE 7版)》的规定,Java虚拟机所管理的内存 阅读全文
posted @ 2017-05-18 23:12 N!CE波 阅读(224) 评论(0) 推荐(0) 编辑
摘要:对于并发控制而言, 锁是一种悲观的策略。它总是假设每一次的临界区操作会产生冲突,因此,必须对每次操作都小心翼翼。如果有多个线程同时需要访问临界区资源,就宁可牺牲性能让线程进行等待,所以说锁会阻塞线程执行。 而无锁是一种乐观的策略,它会假设对资源的访问是没有冲突的。既然没有冲突,自然不需要等待,所以所 阅读全文
posted @ 2017-05-18 22:56 N!CE波 阅读(6251) 评论(0) 推荐(0) 编辑
摘要:一、ThreadLocal介绍 这是一个线程的局部变量。也就是说,只有当前线程可以访问。既然是只有当前线程可以访问的数据,自然是线程安全的。 为每一个线程分配不同的对象,需要在应用层面保证。ThreadLocal只是起到了简单的容器作用。 一、ThreadLocal介绍 这是一个线程的局部变量。也就 阅读全文
posted @ 2017-05-17 22:19 N!CE波 阅读(441) 评论(0) 推荐(0) 编辑
摘要:“锁”的竞争必然会导致程序的整体性能下降,以下就是为了降低这种辐作用的建议: 1.减小锁持有时间 如果线程持有锁的时间很长,那么相对地,锁的竞争程度也就越激烈。程序开发应该尽可能地减少对某个锁的占有时间,以减少线程间互斥的可能. public synchronized void syncMethod 阅读全文
posted @ 2017-05-17 22:17 N!CE波 阅读(871) 评论(0) 推荐(0) 编辑
摘要:除了提供诸如同步控制,线程池等基本工具外,为了提高开发人员的效率,JDK已经为我们准备了一大批好用的并发容器,这些容器都是线程安全的,可以大大减少开发工作量。你可以在里面找到链表、HashMap、队列等。你可以在里面找到链表、HashMap、队列等。 JDK提供的这些容器大部分在java.util. 阅读全文
posted @ 2017-05-17 22:15 N!CE波 阅读(205) 评论(0) 推荐(0) 编辑
摘要:一、CAS简单介绍 CAS:Compare and Swap, 翻译成比较并交换。 java.util.concurrent包中借助CAS实现了区别于synchronouse同步锁的一种乐观锁。synchronouse是一种悲观锁,它会导致其他所有需要锁的线程挂起。 一、CAS简单介绍 CAS:Co 阅读全文
posted @ 2017-05-17 07:45 N!CE波 阅读(5283) 评论(0) 推荐(0) 编辑
摘要:由于java的CAS同时具有 volatile 读和volatile写的内存语义,因此Java线程之间的通信现在有了下面四种方式: A线程写volatile变量,随后B线程读这个volatile变量。 A线程写volatile变量,随后B线程用CAS更新这个volatile变量。 A线程用CAS更新 阅读全文
posted @ 2017-05-17 07:43 N!CE波 阅读(1759) 评论(2) 推荐(0) 编辑
摘要:在服务器上,这里以linux服务器为例,为redis配置密码。 1.第一种方式 (当前这种linux配置redis密码的方法是一种临时的,如果redis重启之后密码就会失效,) (1)首先进入redis,如果没有开启redis则需要先开启:[root@iZ94jzcra1hZ bin]# redis 阅读全文
posted @ 2017-05-16 07:10 N!CE波 阅读(80102) 评论(0) 推荐(6) 编辑
摘要:配置: --bin 启动目录 --conf 配置文件存放配置文件: --server.xml:是Mycat服务器参数调整和用户授权的配置文件。 --schema.xml:是逻辑库定义和表以及分片定义的配置文件。 --rule.xml: 是分片规则的配置文件,分片规则的具体一些参数信息单独存放为文件, 阅读全文
posted @ 2017-05-13 23:39 N!CE波 阅读(4132) 评论(0) 推荐(0) 编辑
摘要:一、全局序列号 全局序列号是MyCAT提供的一个新功能,为了实现分库分表情况下,表的主键是全局唯一,而默认的MySQL的自增长主键无法满足这个要求。全局序列号的语法符合标准SQL规范,其格式为:next value for MYCATSEQ_XXXMYCATSEQ_XXX 是序列号的名字,MyCAT 阅读全文
posted @ 2017-05-13 23:35 N!CE波 阅读(5408) 评论(0) 推荐(0) 编辑
摘要:一、数据的垂直切分概念:数据的垂直切分,也可以称之为纵向切分。将不同的表分散到不同的数据库主机中。一个应用系统,总体功能肯定是由很多个功能模块所组成的,而每一个功能模块所需要的数据对应到数据库中就是一个或者多个表。在架构设计中,各个功能模块相互之间的交互点越统一越少,系统的耦合度就越低,系统各个模块 阅读全文
posted @ 2017-05-13 23:33 N!CE波 阅读(1157) 评论(0) 推荐(0) 编辑
摘要:如果是第一次刚接触MyCat建议下载源码在本地通过eclipse等工具进行配置和运行,便于深入了解和调试程序运行逻辑。 1)源代码方式调试与配置 由于MyCat源代码目前主要托管在github上,大家需要在本地安装和配置好相关环境,具体参考群共享中 “github-eclipse开发指南.docx” 阅读全文
posted @ 2017-05-13 23:30 N!CE波 阅读(1679) 评论(0) 推荐(0) 编辑
摘要:一、核心线程池内部实现 为了能够更好地控制多线程,JDK提供了一套Executor框架,帮助开发人员有效地进行线程控制,其本质就是一个线程池。它的核心成员如图 以上成员均在java.util.concurrent包中,是JDK并发包的核心类。其中ThreadPoolExecutor表示一个线程池。E 阅读全文
posted @ 2017-05-13 23:20 N!CE波 阅读(4401) 评论(0) 推荐(0) 编辑
摘要:一.synchronized的功能扩展:重入锁(java.util.concurrent.locks.ReentrantLock) 重入锁可以完全替代synchronized关键字。在JDK 5.0的早期版本中,重入锁的性能远远好于synchronized,但从JDK 6.0开始,JDK在syn-c 阅读全文
posted @ 2017-05-13 23:18 N!CE波 阅读(550) 评论(0) 推荐(0) 编辑
摘要:初始线程:1.新建线程 1)继承Thread类 2)实现Runnable接口2.线程终止 除非你很清楚你在做什么,否则不要随便使用stop()方法来停止一个线程。因为stop()方法太过于暴力,强行把执行到一半的线程终止,可能会引起一些数据不一致的问题。 通过定义标记变量stopme,当stopme 阅读全文
posted @ 2017-05-13 23:17 N!CE波 阅读(1152) 评论(0) 推荐(0) 编辑
摘要:使用并行程序处于两个目的。第一,为了获得更好的性能;第二,由于业务模型的需要,确实需要多个执行实体。 一、Amdahl定律 Amdahl定律是计算机科学中非常重要的定律。它定义了串行系统并行化后的加速比的计算公式和理论上限。 加速比定义:加速比=优化前系统耗时/优化后系统耗时 即,所谓加速比,就是优 阅读全文
posted @ 2017-05-13 23:15 N!CE波 阅读(1357) 评论(0) 推荐(0) 编辑
摘要:JMM的关键技术点都是围绕着多线程的原子性、可见性和有序性来建立的 一、原子性(Atomicity) 原子性是指一个操作是不可中断的。即使是在多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程干扰。 比如,对于一个静态全局变量int i,两个线程同时对它赋值,线程A给他赋值1,线程B给它赋值 阅读全文
posted @ 2017-05-13 23:15 N!CE波 阅读(226) 评论(0) 推荐(0) 编辑
摘要:一、同步(Synchronous)和异步(Asynchronous) 同步和异步通常用来形容一次方法调用。同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为。异步方法调用更像一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以继续后续的操作。而异步方法通常会在另外一个线程中 阅读全文
posted @ 2017-05-13 23:13 N!CE波 阅读(295) 评论(0) 推荐(0) 编辑
摘要:多线程(JDK1.5的新特性互斥锁)(掌握)1.同步·使用ReentrantLock类的lock()和unlock()方法进行同步2.通信·使用ReentrantLock类的newCondition()方法可以获取Condition对象·需要等待的时候使用Condition的await()方法, 唤 阅读全文
posted @ 2017-05-13 23:12 N!CE波 阅读(339) 评论(0) 推荐(0) 编辑
摘要:Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能 阅读全文
posted @ 2017-05-13 23:11 N!CE波 阅读(227) 评论(0) 推荐(0) 编辑
摘要:在spring中 针对 RedisTemplate类: private RedisTemplate<String, String> template; 当调用下面方法 template.opsForValue().set(key, value,times, timeUnit); 当指定timeUni 阅读全文
posted @ 2017-05-13 23:06 N!CE波 阅读(24730) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示