
编程语言—————Java———
文章平均质量分 90
anxpp
五桥走马谷雨
展开
-
spring cloud 2020 接入 nacos 2 脚手架
spring cloud 2020 整合 nacos 2021 脚手架前言Nacos分布式服务Servive Content(生产者)pom启动类配置文件controllerServive Api(消费者)pom:启动类配置文件controllerclient动态配置与服务发现测试Spring Cloud Gatewaypom启动类配置文件调用测试参考文档前言这其实没啥好写的,不过最新版本有些坑,再加上国内的文档真的是一言难尽,就记录一下吧。nacos 官方文档:https://nacos.io/zh原创 2021-11-16 12:51:01 · 804 阅读 · 0 评论 -
Spring Data JPA中的动态查询
Spring Data JPA大大的简化了我们持久层的开发,但是实际应用中,我们还是需要动态查询的。 比如,前端有多个条件,这些条件很多都是可选的,那么后端的SQL,就应该是可以定制的,在使用Hibernate的时候,可以通过判断条件来拼接SQL(HQL),当然,Spring Data JPA在简化我们开发的同时,也是提供了支持的。 通过实现Criteria二实现的动态查询,需要我们的Repo接口继承JpaSpecificationExecutor接口,这是个泛型接口。 然后查询的时原创 2016-09-06 20:05:42 · 31135 阅读 · 12 评论 -
java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication
额,一个使用Spring boot的,好好的项目,最近突然报错了:java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication 虽然明显知道是jar包问题,不管怎么clean怎么的还是没能解决。 鼓捣了很久没结果,stackoverflow什么的也翻遍原创 2016-09-05 22:12:05 · 45663 阅读 · 3 评论 -
Java根据包名获取指定接口的所有实现
原文出自:http://blog.youkuaiyun.com/anxpp/article/details/52295168,转载请注明出处,谢谢! 准备做一个IM,实现服务端的时候,准备将所有消息处理器(MessageHandler)使用责任链设计模式,但是又不希望增加处理器的时候修改责任链的实现。 这时想到了Spring框架的实现,我们在使用Spring Boot 时,只需要实现一些接原创 2016-08-23 22:44:05 · 5519 阅读 · 0 评论 -
Spring Boot + Spring Data JPA项目配置多数据源
在以前的常规项目中,直接XML配置文件中配置多个数据源即可,在最新推荐的做法中,我们使用配置类来设置。首先配置两个数据源:package com.anxpp.web.config;import javax.sql.DataSource;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder原创 2016-08-22 09:58:45 · 20406 阅读 · 43 评论 -
使用最新Netty实现一个简单的聊天程序
1、概述 Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。 官网:http://netty.io/ 目前最新的是版本是4.1.4(5.x版本官网已经弃用,不推荐使用)。 Netty4.x同时也是原生支持Android的,所以后面的程序,放到android上也是可以正常运行的(亲测)。 项目如果使用Maven开发,直接添加以下依赖即可:<dependen原创 2016-08-06 22:55:37 · 11790 阅读 · 39 评论 -
Java NIO框架Netty简单使用
之前写了一篇文章:Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码),介绍了如何使用Java原生IO支持进行网络编程,本文介绍一种更为简单的方式,即Java NIO框架。 Netty是业界最流行的NIO框架之一,具有良好的健壮性、功能、性能、可定制性和可扩展性。同时,它提供的十分简单的API,大大简化了我们的网络编程。 同Java IO介绍的文章一样,本文所展示的例子,实现了一个相同的功能。1、服务端 Server:原创 2016-08-03 22:37:04 · 19885 阅读 · 6 评论 -
Java程序性能优化——设计优化
1、前言 OK,之前写了一篇文章:“23种设计模式介绍以及在Java中的应用”详细介绍了如何将设计模式应用到Java编程中,而本文旨在介绍如何利用他们优化我们的程序,使其性能更佳。 设计模式的详细介绍请参照上面链接中的文章,不是本文的重点。 而Java程序的性能优化,不一定就仅仅是以提高系统性能为目的的,还可能是以用户体验、系统可维护性等为目的。2、概述 我们知道,设计模式能够大大的优化我们的代码,是针对某一类问题的最优解决方案,是从许多优秀的软件系统中总结出的。原创 2016-07-15 00:27:47 · 4007 阅读 · 1 评论 -
几种排序算法的简单总结
离职总是很麻烦,老板人不错,得好好把工作对接完咯。晚上闲一下就谢谢博客。前言 下面会讲到一些简单的排序算法(均基于java实现),并给出实现和效率分析。 使用的基类如下:public abstract class Sortable { //比较两个数(使用了Integer中sort的源码) private int compare(int x, int y) {原创 2016-03-23 23:16:05 · 5065 阅读 · 0 评论 -
Spring4 MVC 整合Hibernate5 附源码下载
Spring4 MVC 整合Hibernate5 文章转自:anxpp.com 原文链接:http://anxpp.com/index.php/archives/261/ 截止发帖时间(2016.01.22),Hibernate最新稳定版为5.0.7.Final,之前已经搭建好了 Spring4.2.4 的框架,这次我就直接基于之前的 Spri原创 2016-01-26 09:39:57 · 5509 阅读 · 3 评论 -
Spring与SpringMVC的容器关系分析
原文出处:http://www.yangchangming.com/articles/2016/09/16/1474047652822.htmlSpring和SpringMVC作为Bean管理容器和MVC层的默认框架,已被众多WEB应用采用,而实际使用时,由于有了强大的注解功能,很多基于XML的配置方式已经被替代,但是在实际项目中,同时配置Spring和SpringMVC时会出现一些奇怪的转载 2016-12-21 12:18:34 · 1189 阅读 · 0 评论 -
Spring Cloud 下的分布式日志追踪
概要本文是《[基于 ELK6.6 + Filebeat 的 Spring Cloud 日志收集》](https://blog.youkuaiyun.com/anxpp/article/details/87879206)的续集,是在该篇文章的基础上进行的。分布式环境下,我看查看一条日志,希望同时能看到与之相关的上下文关系,比如上一步是哪一个服务过来的,都有些什么参数。在ELK的基础上其实也能实现,就找对应...原创 2019-03-20 11:16:30 · 3223 阅读 · 0 评论 -
Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)
本文会从传统的BIO到NIO再到AIO自浅至深介绍,并附上完整的代码讲解。1、BIO编程 1.1、传统的BIO编程 网络编程的基本模型是C/S模型,即两个进程间的通信。 服务端提供IP和监听端口,客户端通过连接操作想服务端监听的地址发起连接请求,通过三次握手连接,如果连接成功建立,双方就可以通过套接字进行通信。 传统的同步阻塞模型开发中,ServerSocket负责绑定IP地址,启动监听端口;Socket负责发起连接操作。连接成功后,双方通过输入和输出流进行同步阻塞式通信。原创 2016-05-29 01:46:13 · 173417 阅读 · 90 评论 -
spring boot 应用发布到 docker (完整版)
原文出自:http://blog.anxpp.com/index.php/archives/1075/Spring boot 非常适合做微服务,如果再加上 docker ,就就就完美了!By 鱼泡泡技术团队spring boot 应用发布到 docker 完整版一、概述 spring boot 和 docker 本身就不多介绍了,本文主要介绍使用dock...原创 2017-06-20 01:19:00 · 23279 阅读 · 21 评论 -
基于Spring Boot+jsoup+redis抓取优快云每周干货的RESTFul爬虫
一个简单的爬虫,用于抓取csdn上的每周干货推荐。 使用到的相关技术:SpringBoot、Redis、Jsoup、JQuery、Bootstrap等。示例地址: http://weekly.csdn.tinysoft.anxpp.com/效果图: 1、写在前面 准备熟悉下Spring Boot + Redis的使用,所以就原创 2017-03-13 23:42:59 · 7050 阅读 · 1 评论 -
手把手教你从最基本的Java工程搭建SpringMVC+SpringDataJPA+Hibernate(含源码下载)
转载请注明出处:http://blog.youkuaiyun.com/anxpp/article/details/51415366,谢谢! 本文会介绍从一个最基本的java工程,到Web工程,到集成Spring、SpringMVC、SpringDataJPA+Hibernate。 平时我们可能是通过一个模板,或者是直接导入一个项目,而本文选择从最基本的java工程开始,也是为了展示原创 2016-05-15 02:54:55 · 38158 阅读 · 21 评论 -
Hadoop-2.7.3 单节点模式安装
原文出自:http://blog.anxpp.com/index.php/archives/1036/Hadoop单节点模式安装官方教程:http://hadoop.apache.org/docs/r2.7.3/一、概述本文参考官方文档介绍Hadoop单节点模式(本地模式及伪分布式模式)安装(Setting up a Single Node Cluster)。1、Hadoop安原创 2017-01-18 22:24:41 · 4364 阅读 · 0 评论 -
工作流引擎Activiti系列(一)——初识
1、介绍 几乎任何一个公司的软件开发都会涉及到流程,以往我们可能是这么实现的:业务表添加标志位标识流程的节点状态,关联批注表实现审核意见,根据一些业务数据分析处理逻辑,分配任务到用户,节点的调度,审批等.....这其实是很繁琐的,且不说开发起来比较混乱,维护起来更是难上加难: Activiti刚好就能解决几乎所有的这些问题,当流程开发变得简单有趣。 官网:原创 2016-12-28 19:28:56 · 11492 阅读 · 1 评论 -
Spring ORM+Hibernate?Out!换 Spring Data JPA 吧!
Spring Data JPA 的目标是通过让一些必须的工作变得更简单,来极大的提高数据访问层的实现效率。通常我们只需要姐访问方法,而 Spring 给你提供自动实现。!在一切开始之前,先举个简单的例子,以提高大家的兴致! 如果一张表user有三个字段,id、name和age,要查找指定姓氏在某年龄以上的user,在传统的Spring+Hibernate中,dao层我们是这样写的...原创 2016-05-15 06:56:49 · 42626 阅读 · 12 评论 -
JAVA 内存泄露详解(原因、例子及解决)
转载请注明出处:http://blog.youkuaiyun.com/anxpp/article/details/51325838,谢谢! Java的一个重要特性就是通过垃圾收集器(GC)自动管理内存的回收,而不需要程序员自己来释放内存。理论上Java中所有不会再被利用的对象所占用的内存,都可以被GC回收,但是Java也存在内存泄露,但它的表现与C++不同。JAVA 中的内存管...原创 2016-05-05 20:24:58 · 128271 阅读 · 39 评论 -
hibernate调用mysql存储过程
在最近的项目中,碰到一小段数据库数据分析的程序,需要结合多张表联合查询或涉及到子查询,项目主要采用的java ee开发,使用了hibernate框架,由于这些表没用从实体通过hibernate直接生成,也没有外键之类的东西,于是就开始写sql,写完sql再放入程序中转为hql,然后查询。navicat 写好的sql:中文:50 英文:1075 数字:0 中文+标点:50 中文+数字:50 。字符总数:共记1175个字符 (汉字算两个字符,数字、空格、英文字母算做一个字符),放入程序中相当难看,ja原创 2016-01-26 09:51:23 · 4452 阅读 · 0 评论 -
Android 之Fragment
介绍 Fragment 表示 Activity 中的行为或用户界面部分。您可以将多个片段组合在一个 Activity 中来构建多窗格 UI,以及在多个 Activity 中重复使用某个片段。您可以将片段视为 Activity 的模块化组成部分,它具有自己的生命周期,能接收自己的输入事件,并且您可以在 Activity 运行时添加或删除片段(有点像您可以在不同 Activity 中重复原创 2016-03-05 15:25:40 · 1947 阅读 · 0 评论 -
Android数据的四种存储方式一 —— SharedPreference
SharedPreferenceSharedPreference是一种轻型的数据存储方式,实际上是基于XML文件存储的“key-value”键值对数据。通常用来存储程序的一些配置信息。其存储在“data/data/程序包名/shared_prefs目录下。SharedPreference本身只能获取数据,不支持存储和修改。存储和修改要通过Editor对象来实现。原创 2016-02-15 12:10:58 · 2633 阅读 · 0 评论 -
java枚举分析
java枚举简单分析 enum全称为enumeration,是JDK1.5中引入的新特性,位于包java.lang中。 在JDK1.5以前,我们通常使用接口来定义常量:public interface IConstants { String ONE= "one"; String TWO= "two"; String THREE= "three";}原创 2016-02-16 09:44:03 · 1928 阅读 · 0 评论 -
java中的正则表达式
java中的正则表达式 学习过程中,总是一味的在回避正则表达式,总觉得有点触不可及,现在就来全面的分析理解一下,就当是个复习。1、关于正则表达式 正则表达式定义了字符串的模式。 正则表达式可以用来搜索、编辑或处理文本。 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。Java正则表达式和Perl的是最为相似的。 Java正则表达式原创 2016-02-16 13:39:39 · 2736 阅读 · 0 评论 -
Android自定义带下划线的TextView
Android自定义带下划线的TextView 本例是从本博客android客户端中抠出来的一个组件,代码很简单,实现一个带下划线的文本框。 先看效果图: 我们可以通过继承TextView,然后再绘制的时候,底部多绘制一个下划线即可。 我们希望可以直接在xml中配置下划线颜色和高度,我们需要在values资源目录下的attrs.xml(没有请新建原创 2016-02-26 18:34:26 · 5668 阅读 · 0 评论 -
Android 简介及基础知识
介绍 Android 提供了一个内容丰富的应用框架,支持您在 Java 语言环境中为移动设备开发创新应用和游戏。如果您是 Android 应用开发新手,则需了解以下有关 Android 应用框架的基本概念,这一点至关重要: 1、应用提供多个入口点 Android 应用都是将各种可单独调用的不同组件加以组合构建而成。例如,组件可以是为用户界面提供一个屏幕的单个“Acti原创 2016-03-05 15:43:17 · 3857 阅读 · 0 评论 -
Android 之Intent和Intent过滤器
基础 Intent 是一个消息传递对象,您可以使用它从其他应用组件请求操作。尽管 Intent 可以通过多种方式促进组件之间的通信,但其基本用例主要包括以下三个: 启动 Activity: Activity 表示应用中的一个屏幕。通过将 Intent 传递给 startActivity(),您可以启动新的 Activity 实例。Intent 描述了要启动的 Ac原创 2016-03-05 15:33:45 · 1647 阅读 · 0 评论 -
Android 之Activity
介绍 Activity 是一个应用组件,用户可与其提供的屏幕进行交互,以执行拨打电话、拍摄照片、发送电子邮件或查看地图等操作。 每个 Activity 都会获得一个用于绘制其用户界面的窗口。窗口通常会充满屏幕,但也可小于屏幕并浮动在其他窗口之上。 一个应用通常由多个彼此松散联系的 Activity 组成。 一般会指定应用中的某个 Activity 为“主” Activity,即原创 2016-03-05 15:30:27 · 1663 阅读 · 0 评论 -
Android数据存储方式之——文件存储
说明 博客中会慢慢添加Android系列教程,均是参考至官网的教程,能保证使用方式都不会过时,此处也建议学习Android的读者直接参考官网的文档,毕竟技术更新太快,买的书不能保证内容是最新的。当然看官方文档需要一定的英文基础,如果英文不过关也没关系,边看边学(自己拿去翻译吧),一举两得。学习的过程一定是枯燥的,望而止步的,也别指望能把一门技术学得多好。 本篇将的是将数据存储到原创 2016-03-04 19:28:45 · 2255 阅读 · 0 评论 -
Eclipse搭建Maven工程集成Spring4+Hibernate5
Eclipse搭建Maven工程集成Spring4+Hibernate5 这里将以Eclipse搭建Maven工程集成Spring4生成的项目为基础,集成Hibernate5.0.7final。 亲可以参考: 1、Maven安装以及在eclipse中的配置 2、Eclipse中使用Maven创建基本的web项目原创 2016-01-28 13:29:33 · 8884 阅读 · 1 评论 -
Log4j2完全讲解 附项目集成源码下载
Log4j2完全讲解 本文内容大多翻译自log4j官网。 Apache的开源项目log4j(log for java)是一个功能强大的日志组件,提供方便的日志记录。在apache网站:http://www.apache.org/dyn/closer.cgi/logging/log4j 可以免费下载到Log4j最新版本的软件包。 但是,后来Apache软件基原创 2016-01-28 13:34:20 · 7725 阅读 · 3 评论 -
JPA规范介绍及实例(Java数据持久化解决方案)
ORM框架的出现,使直接存储对象成为可能,它们将Java对象拆分成SQL语句,并利用JDBC保存到数据库。但是不同的框架,使用起来却是很大不同的,这也导致开发者需要学习各种不同的ORM框架(虽然你可能觉得精通一个ORM框架就够了,但你也不能保证不会碰到需要维护别人的程序的时候,当然,他们很可能就使用了不同的框架)。而JAP规范,正式为了解决这个问题:规范ORM框架,是ORM框架有统一的接口和用法。至于规范,我们可以把它当作接口来理解,它规定了应该怎么做,但不包含任何实现。所以JPA并不能单独使用,必须指定实原创 2016-05-12 23:16:26 · 17779 阅读 · 0 评论 -
对JVM GC进一步的实例解析
转载请注明出处:http://blog.youkuaiyun.com/anxpp/article/details/51388806,谢谢! 本文主要是基于Java内存回收机制作一些测试,目的是进一步了解JVM的相关机制。 您可能需要阅读:JAVA 内存泄露详解(原因、例子及解决),以便对Java中的内存管理有初步的认识。 总的来说,就是申请2次超过最大可用内存一半的内...原创 2016-05-13 00:06:11 · 4482 阅读 · 0 评论 -
理解JVM——Java内存区域
转载请注明出处:,谢谢! 知其然,知其所以然。 了解Java的内存相关知识,还是有必要的。1、概述 我专业是嵌入式,所以自然对C++是比较了解的,但是后来自学的Java,其内存的自动管理(一开始也不是很习惯...),可谓减少了相当大的开发量。 使用C++的时候,一不小心,就会造成相当严重的内存泄露,而这在Java中,看起原创 2016-07-16 00:17:22 · 1453 阅读 · 2 评论 -
23种设计模式介绍以及在Java中的实现
文本详细总结了23种设计模式以及他们如何应用到java中,并提供了大量的示例代码。文章中的示例源码在github上:https://github.com/anxpp/JavaDesignPattern。如果本文对您有所帮助,请帮忙点个赞扩散一下,谢谢!原创 2016-04-24 01:06:53 · 44258 阅读 · 13 评论 -
Java 并发
Java并发 并发编程可以是程序执行速度得到极大提高,或者为设计某些类型的程序提供更易用的模型,或者两者皆有。 (友情提示,双击代码块可以全选)1 并发的多面性 用并发解决问题大体上可以分为“速度”和“设计可管理性”两种。 1.1 更快的执行 可能在多处理器上使用多线程技术我们更容易理解,但是,并发通常是提原创 2015-12-02 16:35:04 · 2434 阅读 · 1 评论 -
基于JDK 1.8 的 Java 容器UML图
这张图主要描述Java中容器框架,基于JDK 1.8 的。 网上现有的相关图都是基于老版本的JDK,而且也比较简陋。 图中省略了过时的容器和多线程编程时用到的一些容器(不过相关内容再博客另外一篇总结Java容器的文章也会介绍的)。 不是完整的UML图,因为省略了属性层和方法层(当然,相关内容会在Java源码系列文章中详细介绍,这系列文章也在总结Java容器的文章能找到索引)。原创 2016-04-19 22:22:14 · 5018 阅读 · 4 评论 -
HashMap源码之hash()函数分析(JDK 1.8)
我们知道,使用散列的容器,其高性能的主要影响因素之一就是hash值。 在HashMap中,为了更好的性能,我们希望作为Key的对象提供一个合理的hash函数以便能将其合理的分配到桶中。 而在实际的HashMap中,对从对象获取的hash值又做了调整。 我们先看源码: static final int hash(Object key) { i原创 2016-04-24 18:22:38 · 12163 阅读 · 8 评论 -
Oracle 在Spring+Hibernate中的使用
本文会基于一个搭建好的工程更新配置文件完成。1、准备 您需要一个搭建好的Spring+Hibernate工程。 可以直接参考(含下载):Eclipse搭建Maven工程集成Spring4+Hibernate5+SpringMVC2、jdbc驱动 若已安装Oracle,在Oracle主目录中有,比如本人的为:C:\app\iamanxpp\p原创 2016-05-08 13:59:50 · 8589 阅读 · 0 评论