自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Think

上帝赋予了人类说话的能力,而言语又创造了思想,思想是人类对宇宙的量度

  • 博客(130)
  • 资源 (4)
  • 收藏
  • 关注

原创 Java死锁实例代码详解

死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。public class DeadLockDemo { static Book book1 = new Book(); static Book book2 = new Book...

2018-04-08 18:53:42 1342

原创 无序(未排序)数组二分查找

二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。但是对于无序数组,我们可以先排序在二分,但还有一种技巧就是结合快排的思想,即每次选择一个关键字,先将比他大的数放在其右边,比他小的数放在其左边,然后比较他和要查找的数的关系,并选择下次迭代的区间。public class BinarySearc...

2018-04-08 18:28:39 7095 3

原创 判断回文数(非字符串方式)

设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数。注意:1.偶数个的数字也有回文数1244212.小数没有回文数public class PalindromeNumber { public static void main(String[] args) { ...

2018-04-08 18:17:07 1277

原创 Java对象浅析

Java是一门面向对象的编程语言,在Java程序运行的过程中无时无刻都有对象被创建出来。虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载、解析和初始化过。如果没有,那就先执行相应的类加载过程。在类加载检查过后,虚拟机就为新生对象分配内存。对象所需内存大小在类加载完成后便可完全确定,为对象分配内存等同于把一块确定...

2018-03-17 15:40:00 272

原创 Java内存解读简易版

运行时的数据区Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。程序计数器程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。每个线程都需要一个独立的程序计数器,这块区域是线程私有的内存。如果线程正在执行的是一个Java方法,这个计数器记录的是正在执行的虚拟...

2018-03-17 10:46:22 344

原创 快速排序Java(指针双向从头尾向中间扫描)

一趟快速排序的过程如下   (1)先从序列中选取一个数作为基准数  (2)将比这个数大的数全部放到它的右边,把小于或者等于它的数全部放到它的左边 一趟快速排序也叫做Partion,即将序列划分为两部分,一部分比基准数小,另一部分比基准数大,然后再进行分治过程,因为每一次Partion不一定都能保证划分得很均匀,所以最坏情况下的时间复杂度不能保

2017-09-19 09:57:57 985

转载 动态规划的详细解析(01背包问题)

算法分析之动态规划详解先举个例子01背包问题具体例子:假设现有容量15kg的背包,另外有4个物品,分别为a1,a2,a3, a4。物品a1重量为3kg,价值为4;物品a2重量为4kg,价值为5;物品a3重量为5kg,价值为6, a4重6千克,价值为7。将哪些物品放入背包可使得背包中的总价值最大?对于这样的问题,如果如上述所涉及的数据比较少的时候,我们通过列举就能算出来,例如,上边的

2017-05-09 15:39:18 701

原创 最大子数组问题(三种方式,java实现)

最大子数组问题(三种方式,java实现)

2017-04-09 19:04:55 1324 1

原创 最长公共子序列(LCS)

最长公共子序列(LCS)

2017-04-08 10:45:24 347

原创 Centos安装RocketMQ

4.修改broker.conf文件。修改runserver.sh脚本。修改runbroker.sh脚本。创建RocketMQ的配置目录。1.下载RocketMQ。5.启动 namesrv。根据自己机器配置修改。根据自己机器配置修改。6.启动 broker。

2024-03-13 13:38:35 205

原创 CentOS安装MySQL详细教程

Linux安装MySQL教程以及常见问题解决.

2024-03-13 11:28:56 655

原创 Windows Server没有远程桌面授权服务器可以提供许可证解决方案

Windows Server没有远程桌面授权服务器可以提供许可证解决方案

2023-01-28 13:59:18 3400

原创 远程桌面连接报错(CredSSP加密数据库修正)解决方案

远程桌面连接报错(CredSSP加密数据库修正)解决方案

2023-01-28 13:19:42 304

原创 OAuth 2.0 详解

1.定义OAuth(开放授权)是一个开放标准,允许用户授权第三方移动应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方移动应用或分享他们数据的所有内容,OAuth2.0是OAuth协议的延续版本,但不向后兼容OAuth 1.0即完全废止了OAuth1.0。2.名词说明Third-party application:第三方应用程序,本文中又称"客户端"(client)。 HTTP service:HTTP服务提供商,本文中简称"服务提供商"。 Resource Ow

2020-06-14 15:51:44 385

转载 怎样回答离职原因

HR问你上一份工作是因为什么离职的,你怎么回答?这是大家都非常在意的一个问题,无论是面试官还是求职者。因为对面试官来说,这意味着能不能给出Offer的问题,而对求职者而言,这意味着能不能顺利拿到Offer的问题。那么我们到底该如何回答这个问题呢?来看大家的答案!在回答这个问题前,我们先看几个代表性的求职者离职的真正原因:离职原因一:老板的问题(不重视设计/没素质没审美/没诚信)@魏琴:老板很奇葩,...

2018-04-16 15:07:45 121970 3

原创 软件架构读书笔记

软件架构序要学会去看,然后忘掉要学会去听,然后忘掉要学会去做,然后忘掉要学会超越,我们自己不知不觉地设定了事物之间的界限,并把这些界限、层次与逻辑井然的东西称为“系统”。

2017-09-24 09:05:47 447

原创 Java知识点总结

Java知识点总结JVM概述JVM是什么JREJDKJVM是什么关系JVM的生命周期JVM运行原理JVM体系结构JVM相关程序计数器虚拟机栈本地方法栈堆方法区总结直接内存堆与栈的对比内存溢出和内存泄漏内存分配过程对象访问类的加载机制ClassLoader类的加载过程加载链接初始化JVM垃圾回收机制范围要回收哪些区域前提如何判断对象已死引用计数算

2017-05-12 16:34:51 890

转载 十大编程算法助程序员走上高手之路

算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(

2017-04-26 22:06:44 574

转载 Git由浅入深之分支管理

几乎所有的版本控制系统都以分支的方式进行操作,分支是独立于项目主线的一条支线,我们可以在不影响主线代码的情况下,在分支下进行工作。对于传统的一些版本控制工具来说,我们通常需要花费比较多的时间拷贝主线代码,创建一个分支,并且对分支的管理效率也越来越不令人满意,而如今备受推崇的Git确实名副其实,Git中的分支非常轻量,我们可以随时随意创建任意数量的新分支,几乎感觉不到什么延时,而且对分支的操作也很高

2017-04-11 20:51:28 466

转载 maven详解

什么是Maven?如今我们构建一个项目需要用到很多第三方的类库,如写一个使用Spring的Web项目就需要引入大量的jar包。一个项目Jar包的数量之多往往让我们瞠目结舌,并且Jar包之间的关系错综复杂,一个Jar包往往又会引用其他Jar包,缺少任何一个Jar包都会导致项目编译失败。以往开发项目时,程序员往往需要花较多的精力在引用Jar包搭建项目环境上,而这一项工作尤为艰难,少一个

2017-03-30 10:08:46 464

转载 MySQL索引背后的数据结构及算法原理

摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分

2017-03-16 09:25:02 776

原创 单例模式

1. 描述保证一个类只有一个对象实例,并提供一个访问它的全局访问点。2.使用场景当你想要控制实例数目,节省系统资源的时候,比如产生序列号,计数器。3.优点在内存里只有一个实例,减少了内存的开销4.例子4.1 懒汉式,线程不安全这种方式是最基本的实现方式,这种实现最大的问题就是不支持多线程。因为没有加锁 synchronized,所以严格意义上它并不算单例模式。

2017-03-09 16:31:50 423

原创 工厂模式,工厂方法模式,抽象工厂模式 详解

1. 工厂模式1.1 定义简单工厂模式是由一个工厂对象根据收到的消息决定要创建哪一个类的对象实例。1.2 使用场景工厂类负责创建的对象比较少,客户只需要传入工厂类参数,对于如何创建对象(逻辑)不关心。简单工厂模式很容易违反高内聚低耦合的原则,因此一般只在很简单的情况下使用。1.3 例子public interface Shape { public void dra

2017-03-09 10:02:25 18403 3

转载 HttpClient post 请求实例

所需jar包:commons-codec-1.3.jarcommons-httpclient-3.0.jarcommons-logging-1.1.1.jar[java] view plain copy /**  *   */  package httpClient;    import java.

2017-03-07 14:14:47 683

转载 B树、B-树、B+树、B*树【转】,mysql索引

B树       即二叉搜索树:       1.所有非叶子结点至多拥有两个儿子(Left和Right);       2.所有结点存储一个关键字;       3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;       如:              B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,

2017-03-03 09:00:37 326

转载 java分布式简单实现

案例:文章推荐论坛进入文章页面后,显示一个推荐列表:看过这篇文章的人还看过哪些文章,包含列为文章article、点击数count。可能有很好很简单的解决办法,但是到最后再讲。传统的方法是:建一张表,字段有article和user。每点击一次,增加一条记录。一个大论坛几天之内记录数就能达到千万条。而没有必要建索引,其他优化的办法,我还想不到,这样的查询别提多慢了。传统数据库解决不了,

2017-03-01 16:52:36 23867

转载 AVL树-自平衡二叉查找树(Java实现)

在计算机科学中,AVL树是最先发明的自平衡二叉查找树。AVL树得名于它的发明者 G.M. Adelson-Velsky 和 E.M. Landis,他们在 1962 年的论文 "An algorithm for the organization of information" 中发表了它。一、AVL树的旋转规律      AVL树的基本操作一般涉及运做同在不平衡的二叉查找树所运做的同样

2017-03-01 16:51:35 440

转载 AVL树

AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个儿子子树的高度最大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是O(log n)。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。       对二叉树的平衡调整过程,主要包含四种旋转操作:LL,LR,RR,RL 。 LR由当前节点左儿子的一次RR旋转和当前节点的一次LL旋转构成。同理,

2017-03-01 16:47:42 269

转载 几种经典的hash算法

计算理论中,没有Hash函数的说法,只有单向函数的说法。所谓的单向函数,是一个复杂的定义,大家可以去看计算理论或者密码学方面的数据。用“人 类”的语言描述单向函数就是:如果某个函数在给定输入的时候,很容易计算出其结果来;而当给定结果的时候,很难计算出输入来,这就是单项函数。各种加密函 数都可以被认为是单向函数的逼近。Hash函数(或者成为散列函数)也可以看成是单向函数的一个逼近。即它接近于满足单向

2017-03-01 15:05:05 17645

转载 Java面试题全集(四)

110、使用标签库有什么好处?如何自定义JSP标签? 答:使用标签库的好处包括以下几个方面: - 分离JSP页面的内容和逻辑,简化了Web开发; - 开发者可以创建自定义标签来封装业务逻辑和显示逻辑; - 标签具有很好的可移植性、可维护性和可重用性; - 避免了对Scriptlet(小脚本)的使用(很多公司的项目开发都不允许在JSP中书写小脚本)自定义JSP标签包括以下

2017-03-01 09:20:56 869

转载 Java面试题全集(三)

80、事务的ACID是指什么? 答: - 原子性(Atomic):事务中各项操作,要么全做要么全不做,任何一项操作的失败都会导致整个事务的失败; - 一致性(Consistent):事务结束后系统状态是一致的; - 隔离性(Isolated):并发执行的事务彼此无法看到对方的中间状态; - 持久性(Durable):事务完成后所做的改动都会被持久化,即使发生灾难性的失败。通过日

2017-03-01 09:18:28 460

转载 Java面试题全集(二)

51、类ExampleA继承Exception,类ExampleB继承ExampleA。有如下代码片断:1234567try{    thrownew ExampleB("b")}catch(ExampleA e){    System.out

2017-03-01 09:02:26 827

转载 Java面试题全集(一)

1、面向对象的特征有哪些方面?答:面向对象的特征主要有以下几个方面:- 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。- 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性

2017-03-01 08:49:02 620 1

转载 Java 软件高级工程师笔试题

【智力部分】(30分)1. 烧一根不均匀的绳要用一个小时,如何用它来判断半个小时?(5分)两头同时烧2. 4,4,10,10,加减乘除,怎么出24点?四个数字分别只能用一次(5分)(10*10-4)/43. 如果你有无穷多的水,一个容积为3L的和5L的提桶,你如何准确称出 4L的水?(5分)第一步:向5L的通中放两次3L水,这时3L水桶剩1L水。

2017-02-28 14:37:09 1491

原创 SQL行转列

1.SQL行转列1.1 test表结构1.2 test表数据1.3 查询SQL语句SELECT a.`year`, m1, m2, m3, m4FROM ( ( SELECT `year`, amout AS m1 FROM test WHERE `month` = 1 ) a LEFT

2017-02-28 14:01:43 480

转载 常见的内存溢出的三种情况

常见的内存溢出的三种情况:1)JVM Heap(堆)溢出:java.lang.OutOfMemoryError: Java heap spaceJVM在启动的时候会自动设置JVM Heap的值, 可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap的大小是Young Generation 和Tenured Generaion 之和。在JVM中如果98%的时间

2017-02-28 11:16:10 4625 1

转载 java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射

java处理大文件,一般用BufferedReader,BufferedInputStream这类带缓冲的Io类,不过如果文件超大的话,更快的方式是采用MappedByteBuffer。 MappedByteBuffer是java nio引入的文件内存映射方案,读写性能极高。NIO最主要的就是实现了对异步操作的支持。其中一种通过把一个套接字通道(SocketChannel)注册到一个选择器(S

2017-02-28 10:12:19 533

转载 Java8系列之重新认识HashMap

简介Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和TreeMap,类继承关系如下图所示:下面针对各个实现类的特点做一些说明:(1) HashMap:它根据键的hashCode值存储数据,大多数情况下可以直接定位到它的值,因而具有很快的访问速度,但

2017-02-27 22:32:47 257

转载 Java中的自动装箱与拆箱

自动装箱和拆箱从Java 1.5开始引入,目的是将原始类型值转自动地转换成对应的对象。自动装箱与拆箱的机制可以让我们在Java的变量赋值或者是方法调用等情况下使用原始类型或者对象类型更加简单直接。如果你在Java1.5下进行过编程的话,你一定不会陌生这一点,你不能直接地向集合(Collections)中放入原始类型值,因为集合只接收对象。通常这种情况下你的做法是,将这些原始类型的值转换成对

2017-02-27 17:13:20 281

转载 理解Java虚拟机体系结构

1 概述  众所周知,Java支持平台无关性、安全性和网络移动性。而Java平台由Java虚拟机和Java核心类所构成,它为纯Java程序提供了统一的编程接口,而不管下层操作系统是什么。正是得益于Java虚拟机,它号称的“一次编译,到处运行”才能有所保障。1.1 Java程序执行流程  Java程序的执行依赖于编译环境和运行环境。源码代码转变成可执行的机器代码,由下面的流程完成:

2017-02-27 17:02:22 256

购物管理系统

一个普通的购物系统,希望对需要的同学有所帮助哦。

2014-09-10

C_编写的QQ+源代码MYQQ源代码

C_编写的QQ+源代码MYQQ源代码,可以下载看看,对你的编程很有帮助。

2014-09-10

Kettle培训手册

很好,很好的资源。Kettle培训手册。如果想学它,就点击下载吧。

2013-07-14

java各种排序

用java语言写的各种排序,包括冒泡排序,直接插入排序,还有快速排序。

2013-07-14

空空如也

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

TA关注的人

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