自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hjy的博客

热爱IT的人

  • 博客(39)
  • 资源 (11)
  • 收藏
  • 关注

原创 Java面试知识点

Java面试知识点花写完这篇文章,我感触很深,以前学Java认为会用就行了,而不会刨根问底,导致很多知识都停留在表面,思考得不透彻。经过这次较全面的整理,可以知道以前知道的还是太少了。学习就要一步一个脚印,才会扎实。1、Java运行机制Java程序的执行过程,必须经过先编译,后解释两个步骤。Java代码使用javac编译生成.class文件(字节码文件),交给JVM进行解析执行。2...

2017-02-22 13:50:09 2218 1

原创 论坛系统(Spring+SpringMVC+Mybatis)

论坛系统(Spring+SpringMVC+Mybatis)

2017-02-20 18:02:54 11301 13

原创 Spring Cloud——配置中心:Spring Cloud Config

Spring Cloud Config是一个集中化外部配置的分布式系统,有服务端和客户端组成。它不依赖于注册中心,是一个独立的配置中心,支持多种存储配置信息的形式。下面以git为例~客户端启动时会向服务端发起请求,服务端接收到客户端的请求后,根据配置的仓库地址,将git上面的文件克隆到本地的一个临时目录,然后服务端再读取本地文件返回给客户端。好处是,当git服务器故障或网络请求异常时,保证服务...

2019-03-05 15:03:27 263

原创 Spring Cloud——API网关服务:Spring Cloud Zuul

API网关像是整个微服务框架系统的门面一样,所有的客户端访问都需要经过它来进行调度和过滤。它实现了请求路由、负载均衡、校验过滤等功能。zuul包含了hystrix、ribbon、acturator等重要依赖。(一)zuul实现例子(1)服务注册中心和服务提供者参考前一篇文章:https://blog.csdn.net/hjy132/article/details/84871891(...

2018-12-24 09:44:46 282

原创 Spring Cloud——声明式服务调用:Spring Cloud Feign

Spring Cloud Feign整合了Spring Cloud Ribbon与Spring Cloud Hystrix,除了提供这两者的强大功能之外,还提供了一种声明式的Web服务客户端定义方式。同时,Spring Cloud Feign具备可插拔的注解支持,包括Feign注解和JAX-RS注解。(一)服务注册中心创建一个Spring Boot工程,命名为cloud_eureka_se...

2018-12-10 17:12:19 454

原创 Spring Cloud——服务容错保护Hystrix

熔断器,旨在通过控制那些访问远程系统、服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。比如某个小弟故障了,你调用它半天没有响应,你却不知道,一直在等这个响应,这时别的小弟也在调用你的服务,那么当请求多了,就会发生严重的阻塞。这个时候Hystrix就派上用场了,Hystrix发现某个小弟不在状态不稳定立马让它下线,让其它小弟来顶上来,或者给你说不用等了这个小弟今天肯定不行,该干嘛赶紧...

2018-12-05 00:19:40 185

原创 Spring Cloud——服务注册Eureka和客户端负载均衡Ribbon

Eureka主要负责微服务框架中的服务治理功能,它分为Eureka服务端(服务注册中心)和Eureka客户端(处理服务的注册与发现)。这可是springcloud最牛逼的小弟,任何小弟需要其它小弟支持什么都需要从这里来拿,同样你有什么绝活都需要到Eureka服务端报道,供其它小弟调用;它的好处是你不需要对接其他小弟,只需要到服务中心来领取,也不需要知道提供支持的小弟在哪里,反正拿来用就行。负载...

2018-12-04 11:37:55 824

转载 idea下springboot打包成jar包和war包,并且可以在外部tomcat下运行访问到(mark)

idea下springboot打包成jar包和war包,并且可以在外部tomcat下运行访问到(mark)转载:https://www.cnblogs.com/sxdcgaq8080/p/7727249.htmlhttps://blog.csdn.net/qq_35830949/article/details/80931474学习学习!!! IDEA导入eclipse项目并部署...

2018-11-09 13:42:22 391

原创 Scala基础学习

(一)Scala基础语法1、Scala变量三种变量修饰符:val(常量,一旦赋值不可再更改)、var(变量,可更改)、lazy val(惰性求值的常量,当定义的值可能不会被使用时可用该修饰符)。可以注意到每行语句后可不加分号。。。。2、Scala类型体系3、控制结构和函数3.1、条件表达式3.2、块表达式{}块包含一系列表达式,其结果也是一个表达式,块最...

2018-08-12 17:51:14 187

原创 PL/SQL基础学习

                                                    PL/SQL基础学习PL/SQL(Procedure Language/SQL)是一种程序语言,是Oracle数据库对SQL语句的过程化扩展,目前只有Oracle数据库支持。(一)PL/SQL基础语法PL/SQL程序结构:1、PL/SQL基本变量类型:char、varchar...

2018-08-08 13:20:23 393

原创 Effective Java——创建和销毁对象

Effective Java——创建和销毁对象《Effective Java》这本书体现了绝大多数下的最佳程序设计的实践,它关心的是如何写出清晰、正确、健壮、灵活和可维护的程序来。1、考虑用静态工厂方法代替构造器要获取一个实例,通常会提供一个公有的构造器,但还有另外一种方法——提供一个公有的静态工厂方法。注意,这里的静态工厂方法与设计模式里的工厂方法模式不是一个概念:静

2017-11-06 15:31:55 294

原创 Java设计模式——行为型

Java设计模式——行为型本章接着讨论行为型的设计模式。12、策略模式策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。——使用情景:程序不希望暴露复杂的、与算法有关的数据结构,那么可以使用策略模式封装算法需要使用一个算法的不同变体——使用实例:Comparator的compare(

2017-11-02 19:58:10 264

原创 Java设计模式——结构型

Java设计模式——结构型本章接着讨论结构型的设计模式。6、适配器模式该模式将一个类的接口转换成用户希望的另外接口,目的是消除由于接口不匹配所造成的类的兼容性问题。6.1 对象的适配器模式被适配者——已存在的类public class Adaptee { public void method1(){ System.out.println("this is ori

2017-11-02 19:50:54 228

原创 Java设计模式——创建型

Java设计模式可参考:http://blog.csdn.net/zhangerqing/article/details/8194653/总体来说设计模式分为三大类:创建型模式,共五种:普通工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式

2017-10-21 16:04:28 240

原创 如何解决百万级数据查询优化

参考——http://www.cnblogs.com/mengxz0626/p/5086055.html一、SQL优化——使用索引查询造成全表查询的(索引失效的情况):避免null值查询。索引列的数据不要大量重复。where语句中or(union替代)、in not in(between and)、like、!=和<>符号的使用。where子查询中使用参数引入(  select i

2017-10-12 21:39:05 5119

原创 Java设计模式

Java设计模式一、观察者模式定义——当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。以下情况建议使用:当一个抽象模型有两个方面,其中一个方面的操作依赖于另一个方面的状态变化如果在更改一个对象的时候,需要同时连带改变其他对象,而且不知道究竟有多少对象需要被连带改变1、自己实现

2017-09-06 11:05:20 334

原创 Linux笔记

Linux笔记第一章 首次登录和在线求助1、在命令行模式下执行命令(1)开始执行命令命令格式:command   [-options]   parameter1  parameter2 ...如:ls -al  install.log ——列出文件install.log的信息命令       选项      参数1    参数2第一个被输入的数据绝对是命令或者是

2017-04-18 10:54:46 6589 2

原创 Java编程题集

Java面试编程题1、二维数组中的查找题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数public class Solution { public boolean Find(int target, int [][] array) { int

2017-04-14 22:25:01 1557

原创 JavaWeb知识点

JavaWeb面试知识点1、Get和Post方法的区别Get方法主要用于获取服务器资源,而Post方法处了能获取资源外,还可以向服务器上传数据。Get方法会把请求的数据附在URL后面,而Post不会Get方法传输小数据,而Post方法主要用来传递大数据或比较隐私的数据,因此Post方法的安全性高一点2、Servlet处理访问请求的流程Servlet是一种实现了jav

2017-04-10 23:06:20 1973

原创 平衡查找树

平衡二叉查找树平衡二叉查找树,又称 AVL树。 它除了具备二叉查找树的基本特征之外,还具有一个非常重要的特点:它 的左子树和右子树都是平衡二叉树,且左子树和右子树的高度差不超过1。二叉查找树的平衡只有在插入或者删除结点时才会被扰乱,因此,在这些操作过程中,AVL树需要重新排列结点以维持平衡。平衡结点:如果结点是一棵平衡树的根,即该结点的两棵子树高度之差不超过1,

2017-03-24 20:33:35 529

原创 数据结构—堆

数据结构—堆堆是一棵完全二叉树,其结点含有Comparable的对象。堆又分为最大堆和最小堆:最大堆:每个结点的对象都大于等于它的子孙结点的对象最小堆:每个结点的对象都小于等于它的子孙结点的对象在本文章只讨论最大堆以及其实现。如果一棵树是完全二叉树,则可以使用数组来表示完全二叉树。下图的完全二叉树是一个最大堆,使用数组的形式来实现最大堆:将完全二叉树的层序遍

2017-03-23 10:14:31 382

原创 二叉查找树

二叉查找树树的基本知识可查看:http://blog.csdn.net/hjy132/article/details/64127018二叉查找树是一棵二叉树,其结点含有Comparable的对象,并以如下方式组织。对于树的每一个结点:结点中的数据大于结点的左子树中的数据结点中的数据小于结点的右子树中的数据二叉查找树的性质:对二叉查找树进行中序遍历,即可得到有序的数列。二

2017-03-21 20:55:49 909

原创 数据结构—树

数据结构—树树树 由显示结点间关系的边相联而成的结点集合。如下图树的根与任意其他结点之间的路径是唯一的。树的高度是树中层的数目,该高度也等于根与叶子间最长路径上的结点数目。上图是一棵三叉树,因为A有3个孩子,而二叉树的每个结点至多有两个孩子,分别称为左孩子和右孩子。二叉树二叉树分为满二叉树、完全二叉树、不满也不完全的二叉树。满二叉树:每个非叶结点都有

2017-03-20 22:22:33 551 2

原创 队列、双端队列与优先队列

队列、双端队列与优先队列队列:先进先出,从后面插入,从前面移除;处理类似排队的问题,先排先处理,插入和移除操作的时间复杂度都为O(1)。双端队列:即在队列两端都可以插入和删除。同时拥有栈和队列的功能,一般使用频率较低,时间复杂度 O(1)。优先级队列:内部维护一个按优先级排序的序列。插入时需要比较查找插入的位置,时间复杂度O(N), 删除O(1)。

2017-03-20 14:12:22 3097

原创 Java栈的实现

Java栈的实现栈 是限制仅在表的一端进行插入和删除运算的线性表。插入或删除的一端为栈顶,另一端称为栈底当表中没有元素时为空栈栈为后进先出的线性表,又称LIFO表栈没有查找操作,查看非栈顶元素的唯一方式是反复从栈中删除元素,直到想要的元素位于栈顶。栈的操作:push(newEntry):将新元素插入栈顶pop():删除栈顶元素并返回值peek:返回栈顶元素但

2017-03-19 20:55:58 853

原创 散列表

散列表散列(hashing)是一种无需查找,只用元素的查找键确定元素索引的方法,即通过访问key而直接访问存储的value值。数组本身就是一个散列表。在key - value之间存在一个映射函数(散列函数),该函数加快了查找的速度。散列方法不同于顺序查找、二分查找、二叉排序树查找,它不以关键字的比较为基本操作,采用直接寻址技术 (直接通过key映射到内存地址上)。在理想情况下,无须任何比较

2017-03-19 11:17:43 1017

原创 基于链表的词典

基于链表的词典词典(Dictionary),也称映射(map),词典中每个元素都由两部分组成:一个关键字,通常称为查找键(search key);一个与该键值相关联的值,一般将它们称之为键值对。每一个查找键在词典中是唯一的,即不存在两个相同的查找键,这样就可以通过查找建来访问其对应的值。就像上一篇基于数组的词典,每个元素可以是Entry类的一个实例,即键值对封装在一个对象中

2017-03-17 18:11:34 737

原创 基于数组的词典

基于数组的词典词典(Dictionary),也称映射(map),词典中每个元素都由两部分组成:一个关键字,通常称为查找键(search key);一个与该键值相关联的值,一般将它们称之为键值对。每一个查找建在词典中是唯一的,即不存在两个相同的查找建,这样就可以通过查找建来访问其对应的值。基于数组实现的词典中的每个元素必须是Entry类的一个实例,即键值对封装在一个对象中,如

2017-03-17 15:44:21 407

原创 有序链表

有序链表有序链表:插入的元素呈有序状态,删除链头时,就删除最小(或最大)的值,插入时,需要从链头开始搜寻插入的位置。插入的时间复杂度O(n),平均O(n/2),删除最小(或最大值)的时间复杂度O(1)。适用场所:适用于需要存取(插入/查找/删除)最小(或最大)数据项的应用。有序链表接口public interface SortedListInterf

2017-03-17 10:38:41 540

原创 对分查找算法(迭代和递归方式)

对分查找算法(迭代和递归方式)二分查找法是对一组有序的数字中进行查找,传递相应的数据,进行比较查找到与原数据相同的数据,查找到了返回1,失败返回对应的数组下标。迭代方式 public static int binarysearch(int[] srcArray, int des){ int low = 0; int high = srcArray.length-

2017-03-16 10:46:22 2360

原创 排序算法总结

排序算法总结概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。        当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。   快速排序:是目前基于比较

2017-03-11 17:19:11 597

原创 Android音乐播放器

该音乐播放器是我研究生开学前做出来的,花了我将近一个月的闲余时间,算是有模有样的了。现在算起来,应该有一年多没搞Android,所以现在看回以前的程序已经比较模糊了,整个工程的代码量还是比较庞大的,就不把代码贴出来了,感兴趣的可以自行下载代码。欢迎先体验我的App,来一场听觉与视觉的享受吧!视觉????嗯,你没看错,安装后有惊喜,让你欲罢不能!(貌似有点夸张了)Apk下载地址:ht

2017-03-10 14:50:25 936

原创 图书管理系统

图书管理系统该图书管理系统是我研一时候的一个课程设计,当时也刚重新学完Java。你可能会“重新”是什么意思。唉,说来惭愧,大学时我先学了点Java的皮毛,就投奔搞Android去了,所以对Java的基础比较薄弱。而现在学完了,所以就想试着弄个小系统来练练手,所以参考了上一篇中国象棋的代码,就做了这个图书管理系统。同样,这个系统采用的是客户端/服务端(C/S)的模式,相对于上一篇的中

2017-03-09 20:00:47 5076 2

原创 中国象棋——即时类游戏

象棋——即时类游戏对于即时类应用或者即时类的游戏,HTTP协议很多时候无法满足我们的需求。而Socket对于即时类通信软件和游戏软件来说无疑是最好的选择。这篇文章介绍的象棋游戏采用的是服务器/客户端的模式,界面都是根据AWT和Swing编程所实现的,通过这篇文章你可以主要了解到ServerSocket、Socket、多线程,而AWT和Swing的编程并不是重点。至于要不要学Swing及AW

2017-03-08 21:08:25 555

原创 插入排序

插入排序插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。 插入排序方法分直接插入排序和折半插入排序两种,这里只介绍直接插入排序,折半插入排序留到“查找”内容中进行。插入排序不是通过交换位置而是通过比较找到合适的位置插入元素来达到排序的目的的。相信大家都有过打扑克牌的经历,特别是牌数较大的。在分牌时可能要整理自己的牌,牌多的时候怎么整

2017-03-07 10:50:28 854

原创 选择排序

选择排序选择排序:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止。简单地说,从所有序列中先找到最小的,然后放到第一个位置。之后再看剩余元素中最小的,放到第二个位置……以此类推,就可以完成整个的排序工作了。写成Comparable,而不是Comparable,就可以对任意类型使用Comparable。public class S

2017-03-07 10:14:44 245

原创 用链表实现线性表

用链表实现线性表正如上一篇看到,使用数组实现ADT线性表既有优点也有优点。数组的长度可以是固定的,也可以动态扩展数组,但每次动态扩展数组时,都需要移动数据。不管是定长的数组还是可扩展的动态数组,在需要为新元素腾出空间或者弥合删除后留下的间隙时,都要求移动数据。而基于链表实现的线性表可以避免移动数据,并且在插入和删除操作上需要更少的开销,反而查找速率降低了。

2017-03-06 15:22:46 1163

原创 用数组实现线性表

用数组实现线性表现在开始进入数据结构的复习!数据结构中最简单的结构就是线性表,线性表又分为多种类型,这篇文章讲的是基于数组实现的线性表,说明了就是自己来实现ArrayList集合,ArrayList采用的数据结构是数组,存储的元素有序但不唯一,查找效率高,但是增删没有LinkedList的效率高。 通过这篇文章你可以知道ArrayList的基本工作方式。设计ADT数据结构实际上就是

2017-03-06 11:25:08 907

原创 论坛系统(Spring+Struts+Hibernate)

学web后台开发已经有一段时间了,是时候做一点小总结。前段时间学习了一个小项目——论坛系统,是基于Spring+Struts1+Hibernate框架开发的,虽然Struts1框架已逐渐比较少人用了,但作为初学者我觉得还是有必要了解一下。在实现完这个小系统后,我想把它改成基于Struts2实现的,毕竟Struts2比Struts1优秀得多。但了解到目前很多企业公司都采用了Spring+Spring

2017-02-19 11:53:37 4425 2

BinaryTree_BinarySearchTree_AVLTree

该代码包括了二叉树、二叉查找树、平衡树的Java实现代码

2017-03-21

BanaryTree

数据结构——二叉树的Java代码

2017-03-21

musicPlayer_daima

一个炫酷的音乐播放器Android源码

2017-03-10

musicPlayerApk

音乐播放软件

2017-03-10

LibrarySystem

该图书管理系统是基于C/S模式开发的,同时还有移动客户端的代码!

2017-03-10

Chinese_Chess

该资源是中国象棋的java源码

2017-03-08

Forum_ssm_ssm

该Forum系统是基于Spring+SpringMVC+Mybatis实现的,是一个值得学习的源码。

2017-02-21

Forum_System

基于spring+Struts1+hibernate框架开发的论坛系统

2017-02-20

基于android的蓝牙小车客户端

基于android的蓝牙小车客户端,保证能用。重力感应控制左右,按钮控制前后和速度的变换,对初学者来说是不错的程序,是我小毕业设计所写的!

2015-01-09

基于ARM的智能清洁机器人控制系统设计

基于ARM的智能清洁机器人控制系统,要想实现智能化,这是一个不错的文档,值得大家一读

2013-08-17

java学习心得

记载了工程师学习java时的java学习心得,让你更好把经常遇到的问题很快解决

2013-05-10

空空如也

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

TA关注的人

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