自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 9.多线程间的通信

统要实现某个全局功能必定要需要各个子模块之间的协调和配合,就像一个团队要完成某项任务的时候需要团队各个成员之间密切配合一样。而对于系统中的各个子线程来说,如果要完成一个系统功能,同样需要各个线程的配合,这样就少不了线程之间的通信与协作。常见的线程之间通信方式有如下几种: 1、wait和notify/notifyAll  2、await和signal/signalAll   

2017-10-18 11:12:07 255

原创 8.线程数据传递

在传统的同步开发模式下,当我们调用一个函数时,通过这个函数的参数将数据传入,并通过这个函数的返回值来返回最终的计算结果。但在多线程的异步开发模式下,数据的传递和返回和同步开发模式有很大的区别。由于线程的运行和结束是不可预料的,因此,在传递和返回数据时就无法象函数一样通过函数参数和return语句来返回数据。 9.1、通过构造方法传递数据  在创建线程时,必须要建立一个Thread类

2017-10-18 11:11:50 272

原创 7.线程同步

1、synchronized关键字的作用域有二种:  1)是某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个synchronized方法)。这时,不同的对象实例的sync

2017-10-18 11:11:36 214

原创 6.常见的线程名词解释

主线程:JVM调用程序main()所产生的线程。 当前线程:这个是容易混淆的概念。一般指通过Thread.currentThread()来获取的进程。 后台线程:指为其他线程提供服务的线程,也称为守护线程。JVM的垃圾回收线程就是一个后台线程。用户线程和守护线程的区别在于,是否等待主线程依赖于主线程结束而结束 前台线程:是指接受后台线程服务的线程,其实前台后台线程是联系在一

2017-10-18 11:11:12 822

原创 5.常用函数说明

①sleep(long millis): 在指定的毫秒数内让当前正在执行的线程休眠(暂停执行)   ②join():指等待t线程终止。 使用方式。 join是Thread类的一个方法,启动线程后直接调用,即join()的作用是:"等待该线程终止",这里需要理解的就是该线程是指的主线程等待子线程的终止。也就是在子线程调用了join()方法后面的代码,只有等到子线程结束了才

2017-10-18 11:10:54 188

原创 4.线程调度

线程的调度 1、调整线程优先级:Java线程有优先级,优先级高的线程会获得较多的运行机会。   Java线程的优先级用整数表示,取值范围是1~10,Thread类有以下三个静态常量: static int MAX_PRIORITY          线程可以具有的最高优先级,取值为10。 static int MIN_PRIORITY         

2017-10-18 11:10:33 231

原创 3.线程的状态转换

1、新建状态(New):新创建了一个线程对象。 2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。 3、运行状态(Running):就绪状态的线程获取了CPU,执行程序代码。 4、阻塞状态(Blocked):阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。

2017-10-18 11:10:15 172

原创 2.java创建线程的三种方式及其对比

一、Java中创建线程主要有三种方式: 1.继承Thread类创建线程类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。 (2)创建Thread子类的实例,即创建了线程对象。 (3)调用线程对象的start()方法来启动该线程。   package com.thread;

2017-10-18 11:09:57 204

原创 1.多线程的概述

A:进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能,每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程。B:线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序

2017-10-18 11:09:37 159

原创 6.7String是内容不可改变,还是对象不可改变

但是你在运算的时候又发现,你定义的String类型的s变量又是可以进行连接的,如"abc"+"def"最终得到的s的值是"abcdef",这似乎看着String类型的对象又是可以改变的,这是自相矛盾吗? 其实,String对象不允许改变内容是正确的,但是可以改变定义的String类型的变量指向,你定义的String s其实是一个指向String对象的指针,如果不存在对象就为null。

2017-10-17 22:28:56 183

原创 6.6 solr和elasticsearch的区别

二者安装都很简单; Solr 利用 Zookeeper 进行分布式管理,而 Elasticsearch 自身带有分布式协调管理功能; Solr 支持更多格式的数据,而 Elasticsearch 仅支持json文件格式; Solr 官方提供的功能更多,而 Elasticsearch 本身更注重于核心功能,高级功能多有第三方插件提供; Solr 在传统的搜索应用

2017-10-17 22:26:41 220

原创 4.1 CRM系统介绍

CRM客户管理系统要求企业完整地认识整个客户生命周期,提供与客户沟通的统一平台,提高员工与客户接触的效率和客户反馈率。一个成功的客户管理软件至少应包括如下功能:通过电话、传真、网络、电子邮件等多种渠道与客户保持沟通;使企业员工全面了解客户关系,根据客户需求进行交易,记录获得的客户信息,在企业内部做到客户信息共享;对市场计划进行整体规划和评估;对各种销售活动进行跟踪;通过大量积累的动态资料,对市场和

2017-10-16 22:32:51 947

原创 4.3怎么解决跨域问题

1.同源策略如下: URL说明是否允许通信http://www.a.com/a.js http://www.a.com/b.js同一域名下允许http://www.a.com/lab/a.js http://www.a.com/script/b.js同一域名下不同文件夹允许http://www.a.com:8000/a.js http://ww

2017-10-16 22:15:31 367

原创 2.4ArrayList和LinkedList的区别及详细原因

一般大家都知道ArrayList和LinkedList的大致区别:      1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。      2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。      3.对于新增和删除操作add和remove,LinedList比较占优势,因

2017-10-15 18:55:52 222

原创 2.3hashmap的存储结构

1、HashMap的数据结构(HashMap通过hashcode对其内容进行快速查找,是无序的)     数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。   数组 :数组的存储区是连续的,占用内存严重,故空间复杂度很大。但数组的二分查找时间度小;数组的特点:寻址容易,插入和 删除困难。   链表 :链表的储存区离散,占用内存

2017-10-15 18:55:33 327

原创 2.2多线程(多线程间是如何进行通讯的)

系统要实现某个全局功能必定要需要各个子模块之间的协调和配合,就像一个团队要完成某项任务的时候需要团队各个成员之间密切配合一样。而对于系统中的各个子线程来说,如果要完成一个系统功能,同样需要各个线程的配合,这样就少不了线程之间的通信与协作。常见的线程之间通信方式有如下几种: 1、wait和notify/notifyAll  2、await和signal/signalAll  

2017-10-15 18:54:42 231

原创 2.1电商项目的订单系统

订单系统:订单系统主要是订单的创建、查询、修改、删除功能。 订单系统因为pc端和移动端都需要调用此功能模块,所以将订单系统也单独作为一个服务接口供客户端调用。 订单服务接口也有接口文档,根据文档进行订单的创建。 订单的创建需要用户登录,这里用到了拦截器在springMVC中配置下拦截方式即可。 当用户拦截成功后,用户登录该商城,这时候注意将用户保存在request中

2017-10-15 17:30:23 8000

原创 2.5MySQL的优化

1. 添加索引  1). 什么时候考虑添加索引?  数据量大; 频繁查询;    2). 针对什么样的字段添加索引?  where 后面的条件; 针对数据波动范围大;    3). 数据库表的索引是否越多越好 ? 太多会有什么影响?  不是; 太多了, 会对insert , update 的效率产影响.    4). 索引的使用规

2017-10-13 23:29:13 143

原创 1.2.2JVM JRE JDK说明

A:什么是JVM JVM是java虚拟机(JVM Java Virtual Machine),java程序需要运行在虚拟机上,不同平台有自己的虚拟机,因此java语言可以跨平台 B:什么是JRE包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。 JRE:JVM

2017-10-13 22:19:07 331

原创 1.2.1什么是跨平台?

平台:指的是操作系统(Windows,Linux,Mac)跨平台:Java程序可以在任意操作系统上运行,一次编写到处运行原理:实现跨平台需要依赖Java的虚拟机 JVM (Java Virtual Machine)

2017-10-13 22:18:14 699

转载 OneNote笔记保存到CSDN博客

你的博客需要支持 MetaWebLog API   注册博客账号:文件--》发送--》博客   选择你的博客类型,国内的选择其他就好了选择你的博客地址,一般网上都有记录,如果没找到的话看下博客提供商的公告应该是有的我是以网易的测试      需要点击发布才能将博客发布出去,如果没有发布按

2017-10-13 22:14:59 1720 1

原创 1.1Java语言发展史和平台概述

A:Java语言发展史 詹姆斯·高斯林(James Gosling)1977年获得了加拿大卡尔加里大学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学位,毕业后到IBM工作,设计IBM第一代工作站NeWS系统,但不受重视。后来转至Sun公司,1990年,与Patrick,Naughton和Mike Sheridan等人合作"绿色计划",后来发展一套语言叫做"Oak",后改

2017-10-13 22:12:00 290

空空如也

空空如也

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

TA关注的人

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