自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 资源 (1)
  • 收藏
  • 关注

转载 十二要素应用宣言

十二要素应用宣言

2022-09-07 16:09:37 129

转载 解决IDEA编译项目报错 “xxx包不存在“

解决IDEA编译项目报错 “xxx包不存在“

2022-06-06 16:04:46 747

原创 thinkpad e450c蓝牙重新安装后不能搜索到手机解决方案--适用大部分笔记本

前段时间买了一个蓝牙耳机,方便上下班路上听歌,但是上班的时候又想用笔记本听歌,无奈笔记本不给力折腾半天都不能搜索到设备,备注系统win10.1. 修复坎坷经历:通过设置打开搜索蓝牙设备显示报错提示请打开蓝牙设备,然后从网上查各种解决方法都前排提示更换蓝牙驱动,从联想官网下载了一堆驱动,然后一一安装,我记得是有6个exe文件包,未能解决问题。从网上看到BOIS中有蓝牙控制开关,有可能这里关了,但...

2019-02-14 17:35:38 3262

转载 C#路径操作、目录操作和文件操作

路径操作如下: 1.更改路径字符串的后缀名 不会更改实际的文件 string newPath = Path.ChangeExtension(@”d:\12\12\12\1.ttt”, “avi”); newPath = @”d:\12” + “12.txt”; 2.合并多个字符串路径 如果没有\ 会自动加. newPath = Path.Combine(@”d:\12

2017-12-14 16:44:37 810

转载 哈希表(散列表)原理详解

转载:写的很好,大佬地址http://blog.csdn.net/duan19920101/article/details/51579136 什么是哈希表? 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。

2017-12-01 16:28:11 1233 1

原创 java 多线程 避免死锁 哲学家就餐问题

源代码如下:public class Concurrence implements Runnable{ private chick pre; private chick last; private int index; public Concurrence(chick pre, chick last, int index) { this.pre = pr

2017-11-30 09:30:13 533

原创 java模拟两个线程锁死

class A{ public synchronized void foo(B b) { String name = Thread.currentThread().getName(); System.out.println(name + "entered A.foo()"); try { Thread.sleep(100

2017-11-29 10:08:30 338

原创 多线程生产者与消费者简单模拟

生产者消费者问题(英语:Producer-consumer problem),也称有限缓冲问题(英语:Bounded-buffer problem),是一个多线程同步问题的经典案例。该问题描述了两个共享固定大小缓冲区的线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也在缓冲区消耗这些数据。该问题的关键

2017-11-29 09:57:48 405

原创 一道经典的Java多线程编程题

问题描述 启动3个线程打印递增的数字, 线程1先打印1,2,3,4,5, 然后是线程2打印6,7,8,9,10, 然后是线程3打印11,12,13,14,15. 接着再由线程1打印16,17,18,19,20….以此类推, 直到打印到75. 程序的输出结果应该为:线程1: 1 线程1: 2 线程1: 3 线程1: 4 线程1: 5线程2: 6 线程2: 7 线程2: 8 线程2: 9

2017-11-28 15:10:54 5673 5

转载 理解 Thread.Sleep 函数

我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题:假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2008-4-7 12:00:01.000 的时候,这个线程会 不会被唤醒? 某人的代码中用了一句看似莫明其妙的话:Thread.Sleep(0) 。既

2017-11-22 15:58:01 196

转载 Java时间日期格式转换

Java时间日期格式转换突然忘记了时间格式怎么转换,特此做个记录Java时间格式转换大全import java.text.*; import java.util.Calendar; public class VeDate { /** * 获取现在时间 * * @return 返回时间类型 yyyy-MM-dd HH:mm:ss */ public stati

2017-11-22 09:34:46 1831

原创 IntelliJ IDEA手工安装插件方法

以IntelliJ IDEA 11.0.1安装python为例: (1)下载python插件地址:http://plugins.intellij.net/plugin/?id=631 其它插件下载,进入setting > plugins > browse repositorits 搜索你要下载的插件名称,右侧可以找到下载地址。 (2)复制插件安装目录:把下载的插件复制到IntelliJ IDEA

2017-11-20 09:59:00 1327

转载 JAVA深复制(深克隆)与浅复制(浅克隆)

1.浅复制与深复制概念 ⑴浅复制(浅克隆) 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。⑵深复制(深克隆) 被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。换言之,深复制把要复制的对

2017-09-15 11:18:39 744

原创 Java常量池详解之Integer缓存

一个Java question,求输出结果public class IntegerTest { public static void main(String[] args) { objPoolTest(); } public static void objPoolTest() { Integer i1 = 40; Integer

2017-09-11 08:30:07 499

转载 深入理解Java虚拟机到底是什么

转自:http://blog.csdn.net/zhangjg_blog/article/details/20380971 什么是Java虚拟机作为一个Java程序员,我们每天都在写Java代码,我们写的代码都是在一个叫做Java虚拟机的东西上执行的。但是如果要问什么是虚拟机,恐怕很多人就会模棱两可了。在本文中,我会写下我对虚拟机的理解。因为能力所限,可能有些地方描述的不够欠当。如果你有不同的理解

2017-09-10 21:44:30 320

原创 JRE与JVM、JDK的区别

一、 详细介绍1、JVM – java virtual machineJVM就是我们常说的java虚拟机,它是整个java实现跨平台的 最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可 以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解 释给本地系统执行。JVM 的主要工作是解释自己的指令集(即字节码

2017-09-10 21:37:10 206

原创 细说虚拟机栈

引文对JVM不了解的请先访问文章《Java虚拟机运行时数据区》,相信会让你大致了解各个内存区域的对应功能。接着,我们开始细说虚拟机栈 前文中说到:“虚拟机栈是线程私有的,每创建一个线程,虚拟机就会为这个线程创建一个虚拟机栈,虚拟机栈表示Java方法执行的内存模型,每调用一个方法就会为每个方法生成一个栈帧(Stack Frame),用来存储局部变量表、操作数栈、动态链接、方法出口等信息。每个方

2017-09-10 20:09:34 244

原创 JVM中的直接引用和符号引用

在JVM中,类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载7个阶段。而解析阶段即是虚拟机将常量池内的符号引用替换为直接引用的过程。 1.符号引用(Symbolic References):符号引用以一组符号来描述所引用的目标,符号可以是任何形式的字面量,只要使用时能够无歧义的定位到目标即可。例如,在Class文件中它以CONSTAN

2017-09-10 20:02:19 395

转载 递归引发的jvm栈溢出的理解--堆和栈的概念整理

最近一段时间,在登月项目中接触到一个涉及数据对比的工具,需要对hdfs(Hadoop分布式文件系统)上的一些原始数据进行按行解析,并重新保存成可被hive(基于Hadoop的一个数据仓库工具)识别的数据文件。作为一个复杂度不高的应用MR并行计算框架的工具,设计制作过程还是很顺利的,两三天的功夫编码完成,自测也通过了,然而上线使用后,却发生了一个意想不到的bug。 1、程序说明: 事 情是这样的,

2017-09-10 18:43:59 1237

原创 Java虚拟机运行时数据区域

Java虚拟机在执行Java程序的过程中会将其管理的内存划分为若干个不同的数据区域,这些区域有各自的用途,及创建和销毁的时间,有些区域随虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束来建立和销毁。Java虚拟机所管理的内存包括以下几个运行时数据区域,如图(图片引自网络): 1.1 程序计数器(Program Counter Register)程序计数器是一块较小的内存空间,它

2017-09-10 17:32:25 182

原创 Java String 声明、引用、内存分配深度剖析

栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再

2017-09-09 23:55:53 360

原创 java hash hashMap详解

Hash 一般也可叫做散列,你可以把 Hash 简单的理解为将一个对象通过 hashCode() 方法映射为一个 int 类型的值,其中 hashCode() 是定义在 Object 中的,而 java 中所有的类都继承自 Object。 所以所有的类都有默认的 hashCode() 方法,你可以根据自己的需要去进行重写。以你说的 HashMap 为例:HashMap 在 JDK 默认的实现是 数

2017-09-09 19:47:29 282

原创 java局部变量、类变量、实例变量有什么区别

1、在Java中,变量大体分为以下4类:类变量、常量、实例变量、局部变量public class Test { public static int classVar;// 类变量,即静态变量,关键词static     public static final int constant = 10;// 常量,关键词static,final,是一种特殊的类变量,一定要在声明时赋值

2017-09-09 18:38:32 454

原创 同步异步与阻塞非阻塞

“阻塞”与”非阻塞”与”同步”与“异步”不能简单的从字面理解,提供一个从分布式系统角度的回答。 1.同步与异步 同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)所谓同步,就是在发出一个调用时,在没有得到结果之前,该调用就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由调用者主动等待这个调用的结

2017-09-09 17:42:58 167

原创 Java中,&&与&,||与|的区别

在java的逻辑运算符中,有这么四类:&&(短路与),&,|,||(短路或)。&&和&都是表示与,区别是&&只要第一个条件不满足,后面条件就不再判断。而&要对所有的条件都进行判断。 看下面的程序:public static void main(String[] args) { // TODO Auto-generated method stub if((23

2017-09-09 17:13:12 318

原创 学习Javascript闭包(Closure)

闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。 下面就是我的学习笔记,对于Javascript初学者应该是很有用的。 一、变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。 变量的作用域无非就是两种:全局变量和局部变量。 Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。var n=9

2017-09-09 16:34:55 163

原创 Java之Math类使用小结

Java的Math类封装了很多与数学有关的属性和方法,大致如下:public class Main { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(Math.E);//比任何其他值都更接近 e(即自然对数的

2017-09-09 15:38:25 481

原创 Java迭代器

迭代器是一种模式,它可以使得对于序列类型的数据结构的遍历行为与被遍历的对象分离,即我们无需关心该序列的底层结构是什么样子的。只要拿到这个对象,使用迭代器就可以遍历这个对象的内部. 1.Iterator Java提供一个专门的迭代器<>Iterator,我们可以对某个序列实现该interface,来提供标准的Java迭代器。Iterator接口实现后的功能是“使用”一个迭代器.

2017-09-07 23:35:40 181

原创 J2EE基础篇——十三个规范

背景:1、企业级应用框架的需求,在许多企业级应用中,例如数据库连接、邮件服务、事务处理等都是一些通用企业需求模块,这些模块如果每次在开发中都由开发人员来完成的话,将会造成开发周期长和代码可靠性差等问题。于是许多大公司开发了自己的通用模块服务。这些服务性的软件系列统称为中间件。 2、为了通用必须要提出规范,不然无法达到通用,在上面的需求基础之上,许多公司都开发了自己的中间件,但其与用户的沟通都各有不

2017-09-07 23:32:03 387

转载 应用服务器的调优

转自:http://blog.sina.com.cn/s/blog_67219a720101bh49.html 留以后学习使用。 应用服务器通俗点就是后台程序 ,但是也不只是后台程序,也可能是其他的程序,在这里我主要讲后台程序的调优。也是建立在weblogic和oracle数据库之上的, 如果不会weblogic,请大家去网上看看,我个人认为weblogic简直是神器。1 jvm调优任何java

2017-09-07 20:15:53 280

原创 为什么公司用weblogic而不用tomcat

Tomcat是Apache基金会提供的Servlet容器,它支持JSP, Servlet和JDBC等J2EE关键技术,所以用户可以用Tomcat开发基于数据库,Servlet和JSP页面的Web应用,这是没有问题的。 但是,Tomcat却不是EJB容器;也就是说,Tomcat不支持J2EE的重要技术之一,EJB。那么,使用EJB组件开发的Web应用程序就无法在Tomcat下面运行。众所周知,EJB

2017-09-07 19:45:27 616

原创 java基本调优

一、基本代码的调优。老生常谈,没什么可说的,减少没必要的的代码,注重注释,命名规范等。二、减小没有必要的操作 对像的创建是一个很消耗内存的,所以我们应该尽量减少对象的创建,在需要的时候才创建,做到一次初始化到处使用的原则,在用完后置null有利于垃圾收集。让类实现Cloneable接口,同时采用工厂模式【如果不了解的可以看看java的设计模式,貌似有26种】,将减少类的创建,每次都是通过clone(

2017-09-07 18:59:32 209

原创 基于MVC开发模式的javaWeb项目开发流程

一、MVC模式简单介绍M–>model—>模型层–>entity/dao/serviceV–> view –>视图层–>jsp/html…C–>control–>控制器–>servlet模型层:封装对数据库的访问的一些类视图层:各个JSP页面,通过Controller衔接Model层控制层:方法入口,接收前端传来的请求优缺点:每一层各司其职! 更容易更换具体的实现,而对其他层代码影响较小! 二、项

2017-09-07 16:59:01 1676

转载 Java Web项目开发流程

1.Web项目开发流程图解 2.Web项目开发的细节(转载)任何一个项目或者系统开发之前都需要定制一个开发约定和规则,这样有利于项目的整体风格统一、代码维护和扩展。由于Web项目开发的分散性、独立性、整合的交互性等,所以定制一套完整的约定和规则显得尤为重要。本文档将定制一系列约定和规则,他们分别包括组件团队、文件夹命名规则、文件名命名规则、程序代码编程风格、数据库设计约定。这些规则和约定需要与

2017-09-07 16:49:01 2390

转载 Mybatis MapperScannerConfigurer 自动扫描 将Mapper接口生成代理注入到Spring

Mybatis MapperScannerConfigurer 自动扫描 将Mapper接口生成代理注入到SpringMybatis在与Spring集成的时候可以配置MapperFactoryBean来生成Mapper接口的代理. 例如<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean"> <prope

2017-09-07 15:47:11 496

转载 Mybatis框架学习—查询缓存与spring的整合开发

1 项目整体目录2 查询缓存2.1 缓存的意义将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。 2.1mybatis持久层缓存mybatis提供一级缓存和二级缓存mybatis一级缓存是一个SqlSession级别,sqlsession只能访问自己的一级缓存的数据,二级缓存是跨sqlS

2017-09-07 15:41:45 324

转载 spring持久类po或者javabean为什么常常实现序列化?

无论用hibernate或者mybatis结合spring做开发还是其他,系统里持久类往往要实现序列化, implements Serializable。我还是比较好奇,为什么要这样做呢?一直只知道个大概,学习hibernate和mybatis时,一些书中有几个字的介绍,有的书中举得例子或者和spring整合时举得例子也没实现序列化,有时可能在你项目上,如果不是实现serializable接口,可能

2017-09-07 14:39:24 257

转载 sql之left join、right join、inner join的区别

转自:http://www.cnblogs.com/pcjim/articles/799302.html left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录 inner join(等值连接) 只返回两个表中联结字段相等的行举例如下: 表A记录如下: aID     aNum

2017-09-06 21:07:43 140

转载 结构型设计模式

转自:http://www.cnblogs.com/kid-li/archive/2006/11/11/557359.html 结构型设计模式是从程序的结构上解决模块之间的耦合问题(好像是句废话),GoF23种设计模式中结构型设计模式有7种,分别是:Adapter适配器模式、Bridge桥接模式、Composite组合模式、Decorator装饰模式、Facade外观模式、Flyweight享元模

2017-09-05 19:44:27 131

转载 spring中context:property-placeholder/元素

.有些参数在某些阶段中是常量 比如 :a、在开发阶段我们连接数据库时的连接url,username,password,driverClass等 b、分布式应用中client端访问server端所用的server地址,port,service等 c、配置文件的位置 2.而这些参数在不同阶段之间又往往需要改变

2017-09-05 18:18:27 320

commoms-fileupload-jar包

专门用来处理上传的工具,可以从request对象中解析出,获取用户发送的请求参数和上传文件的流。

2017-08-17

空空如也

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

TA关注的人

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