
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
在进程同步中,经典的同步问题有:生产者-消费者问题、读者-写者问题、哲学家进餐问题。一、生产者与消费者问题:问题描述:使用一个缓冲区来保存物品,只有缓冲区没有满,生产者才可以放入物品;只有缓冲区不为空,消费者才可以拿走物品。1、使用信号量实现生产者-消费者问题:down : 如果信号量大于 0 ,执行 -1 操作;如果信号量等于 0,进程睡眠,等待信号量大于 0;up ...
一、彻底清除VMware Workstation:该部分转自:http://kb.vmware.com/selfservice/search.do?cmd=displayKC&docType=kc&docTypeID=DT_KB_1_1&externalId=1308方法1:dos下进入安装文件的目录,运行安装文件,输入:VMware-workstation-full-7.
随着业务的发展,系统会越来越庞大,原本简单稳定的功能,可能在不断迭代后复杂度上升,潜在的风险也随之暴露,导致最终服务不稳定,造成业务价值的损失。而为了减少这种情况,其中一种比较好的方式就是提高代码质量,从而降低错误风险。工欲善其事,必先利其器,这篇文章给大家介绍几种检查代码质量的利器:Alibaba Java Coding Guidelines、CheckStyle、PMD、FindBugs、So
平常的Java开发中,程序员在某个类中需要依赖其它类的方法。通常是new一个依赖类的实例再调用该实例的方法,这种开发存在的问题是new的类实例不好统一管理。Spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过Spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是”控制反转”。通俗的理解是:平常我们new一个实例,这个实例的控制权是...
一、什么是Anaconda:Anaconda是一个开源的Python发行版本,包含了conda、Python等180多个科学包及其依赖项,可以用于包管理器和环境管理。比如A项目中用了Python2,而B项目使用Python3,而同时安装两个Python版本可能会造成许多混乱和错误,这是使用Anaconda就可以为不同的项目建立不同的运行环境。二、安装Anaconda:1、下载Anaconda安装包
一、索引优化规则:1、union、in、or 都能够命中索引,建议使用 in:(1)union:能够命中索引,并且MySQL耗费的CPU最少。select * from doc where status=1union allselect * from doc where status=2;(2)in:能够命中索引,查询优化耗费的CPU比union all多,但可以忽略不计,一般情况下建议使用in。
一、什么是游标:游标,就是游动的标识,可以充当指针的作用,使用游标可以遍历查询数据库返回的结果集中的所有记录,但是每次只能提取一条记录,即每次只能指向并取出一行的数据,以便进行相应的操作。例如:我们写一条select查询语句,按理上会一下子给我们查询出所有的结果。这时候我们想对每一条查询的结果数据进行一条条获取并筛选,这时候我们相当于对查询的结果集进行筛选,那么这个过程就需要使用到游...
一、平台无关性:Java的无关性的实现,是由于Java源代码编译后生成的存储字节码的文件,即Class文件,以及Java虚拟机的实现。无关性包括:平台无关性以及语言无关性。(1)平台无关性,是指java代码可以运行在不同操作系统的虚拟机上面,因为不同的操作系统都有各自的Java虚拟机,从而实现程序的“一次编写,到处运行”。(2)语言无关性是指Jav...
概述:给一个系统定位问题的时候,知识、经验是关键基础,数据是依据。工具是运用知识处理数据的手段。这里说的数据包括:运行日志、异常堆栈、GC日志、线程快照文件(threaddump/javacore文件)、堆转储快照(heapdump/hprof文件)等。## JDK的命令行工具:JDK的命令行工具大多数是对jdk/lib/tools.jar类库的一层薄包装而已,它们的主要功能代码是在t...
一、Java把内存划分成两种:一种是栈内存,一种是堆内存。在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。堆内存用来存放由new创建的对象和数组。在堆中分配的内存,由Java虚拟机的自动垃圾回...