
Java
文章平均质量分 68
零度anngle
情商不是八面玲珑的圆滑,而是德行具足后的虚心、包容和自信;成熟不是单纯到复杂的世故,而是复杂回归简单的超然;觉悟不是对世事的无所谓,而是对无能为力之事的坦然接受;成功不是追求别人眼中的最好,而是把自己能做的事情做得最好。热爱生活,热爱编程,热爱Java,喜欢探索,纸上得来终觉浅,绝知此事要躬行,愿与你一起在技术的海洋中成长!
博客:http://blog.csdn.net/zmx729618
展开
-
基于阿里云的 RocketMQ 服务编写订单消息服务要保证消息100%不丢失且不重复消费
基于阿里云的 RocketMQ 服务编写订单消息服务,用户下单成功后发送支付成功消息,短信通知服务、库存扣减服务、物流发货服务获取消息进行消费,要保证消息100%发送不丢失,同时三个消费者100%消费且不重复消费,给出详细代码。原创 2025-03-21 17:22:38 · 803 阅读 · 0 评论 -
mysql 查询某字段中以逗号分隔的字符串的包含查询和关联查询实现
实现mysql查询某字段中以逗号分隔的字符串包含查询和关联查询原创 2022-07-25 15:57:30 · 5361 阅读 · 2 评论 -
手把手教你快速入门知识图谱 - Neo4J教程
转载地址:手把手教你快速入门知识图谱 - Neo4J教程 - 知乎前言 今天,我们来聊一聊知识图谱中的Neo4J。首先,什么是知识图谱?先摘一段百度百科:知识图谱(Knowledge Graph),在图书情报界称为知识域可视化或知识领域映射地图,是显示知识发展进程与结构关系的一系列各种不同的图形,用 可视化技术描述知识资源及其载体,挖掘、分析、 构建、绘制和显示知识及它们之间的相互联系。 知识图谱是通过将应用数学、 图形学、信息可视化技术、 信息科学等学科的理论与方法与计量学引文分析、共...转载 2022-04-06 17:40:19 · 11475 阅读 · 1 评论 -
新一代监控神器Prometheus+Grafana介绍及使用
监控/Prometheus/Grafana转载 2022-03-03 13:10:51 · 5834 阅读 · 0 评论 -
Spring boot实战项目整合阿里云RocketMQ 消息队列实现发送普通消息,延时消息
原文地址:Spring boot实战项目整合阿里云RocketMQ 消息队列实现发送普通消息,延时消息 --附代码 - 学不会丶 - 博客园一.为什么选择RocketMQ消息队列?(可跳过看三的整合代码实例)首先RocketMQ是阿里巴巴自研出来的,也已开源。其性能和稳定性从双11就能看出来,借用阿里的一句官方介绍:历年双 11 购物狂欢节零点千万级 TPS、万亿级数据洪峰,创造了全球最大的业务消息并发以及流转纪录(日志类消息除外); 在始终保证高性能前提下,支持亿级消息堆积,不影响集群的正常服.转载 2022-02-22 13:56:41 · 1950 阅读 · 0 评论 -
JPG&PNG图片压缩java实现
图片工具类java原创 2022-02-21 10:18:34 · 8842 阅读 · 2 评论 -
Java远程实现Linux文件内容读取(通过远程执行shell命令分析日志)
使用的是com.jcraft.jsch包工具,google进行下载,代码比较简单分析用户站内搜索日志,分析用户搜索关键词,代码如下:package com.cloud.hotword.util;import java.io.BufferedReader;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import ja...原创 2021-05-14 15:29:52 · 2200 阅读 · 1 评论 -
springboot2之文件上传接口两种实现(后端调用直接传输文件流和前端ajax调用支持Formdata)
package com.citicpress.cspp.user.controller;import com.citicpress.cspp.common.dto.ResponseHeader;import com.citicpress.cspp.common.dto.ResponseParam;import com.citicpress.cspp.common.model.TokenUs...原创 2020-04-22 16:47:38 · 4308 阅读 · 0 评论 -
centos之Python3.7安装cx_Oracle
1、环境2、安装oracle客户端(我下载的rpm格式)地址oracle客户端3、安装上传到服务器(1)yum install -y libaio(2)rpm -ivh oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm(3)安装python客户端cx_Oraclepip3 install cx_Oracle(4)、配置环...转载 2020-01-16 11:52:20 · 2644 阅读 · 0 评论 -
myeclipse安装、优化与插件安装
Myeclipse10下载与破解Genuitec 公司发布了MyEclipse 10,一款Genuitec旗下的商业化Eclipse集成开发工具的升级版本。MyEclipse 10基于Eclipse Indigo构建,为Java和JavaEE项目提供了Maven3的支持。本次发布的版本中还加入了对JaveEE 6、HTML5、JPA2和JSF 2的支持。版本号10是为了庆祝即将到来转载 2015-04-15 15:20:23 · 1667 阅读 · 0 评论 -
nginx配置详解
Nginx 配置文件详解user nginx ; #用户worker_processes 8; #工作进程,根据硬件调整,大于等于cpu核数error_log logs/nginx_error.log crit; #错误日志pid logs/nginx.pid;#pid放转载 2015-06-18 11:16:26 · 680 阅读 · 0 评论 -
java解析XML的几种方式
第一种:DOM。DOM的全称是Document Object Model,也即文档对象模型。在应用程序中,基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合(通常称DOM树),应用程序正是通过对这个对象模型的操作,来实现对XML文档数据的操作。通过DOM接口,应用程序可以在任何时候访问XML文档中的任何一部分数据,因此,这种利用DOM接口的机制也被称作随机访问机制。转载 2015-06-26 16:55:14 · 761 阅读 · 0 评论 -
java源代码加密+使用proguard混淆java web项目代码+自定义Classloader
如何保护我们的源代码,实际上,应该有几种方法可以使用:1、使用代码混淆器 2、重载应用服务器的classloader使用代码混淆器proguard进行代码混淆1.首先下载proGuard.zip到本地: proguard4.5beta4.tar.zip解压开,2.新建文本文档,修改文件名为XXX.pro,然后复制下面内容到.pro-injars 'Y:\src.ja原创 2015-08-06 17:55:14 · 10508 阅读 · 2 评论 -
实现自定义类加载器-ClassLoader
JAVA启动后,是经过JVM各级ClassLoader来加载各个类到内存。为了更加了解加载过程,我通过分析和写了一个简单的ClassLoader来粗浅的分析它的原理。JVM的ClassLoader分三层,分别为Bootstrap ClassLoader,Extension ClassLoader,System ClassLoader,他们不是类继承的父子关系,是逻辑上的上下级关系。Boot转载 2015-08-07 17:16:03 · 2051 阅读 · 0 评论 -
基于OSGi和Spring开发Web应用
作为一个新的事实上的工业标准,OSGi 已经受到了广泛的关注, 其面向服务(接口)的基本思想和动态模块部署的能力, 是企业级应用长期以来一直追求的目标。Spring 是一个著名的轻量级J2EE 开发框架,其特点是面向接口编程和非侵入式的依赖注入。将 OSGi 和 Spring 结合能充分发挥二者各自的特长,更好地满足企业级应用开发的需求。Spring 开发组织在 2008 年发布了将 OSGi 和转载 2015-08-11 11:28:43 · 15093 阅读 · 4 评论 -
JSTL:c:forEach使用
标签用于通用数据循环,它有以下属性属 性描 述是否必须缺省值items进行循环的项目否无begin开始条件否0end结束条件否集合中的最后一个项目step步长否1var代表当前项目的变量名否无varStatus显示循环状态的变量否原创 2015-11-12 10:06:16 · 625 阅读 · 0 评论 -
事务的传播特性和隔离级别理解
事务的几种传播特性1. PROPAGATION_REQUIRED: 如果存在一个事务,则支持当前事务。如果没有事务则开启2. PROPAGATION_SUPPORTS: 如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行3. PROPAGATION_MANDATORY: 如果已经存在一个事务,支持当前事务。如果没有一个活动的事务,则抛出异常。4. PROPAGATION_原创 2015-11-12 16:44:24 · 1382 阅读 · 0 评论 -
移动App与服务器安全通信
最近,项目给移动端提供API接口,移动app通过post请求调用服务器的api接口,为了确保服务器的数据安全和通讯安全,防止数据篡改等恶意攻击,本人通过查询资料和思考,总结出了一个方案,个人认为能解决基本的接口调用安全问题,具体方案如下。 首先,移动端通过访问公开接口与服务器通讯,使用用户名和密码(当然是MD5加密)作为参数向服务器申请TOKEN,服务器获取用户名和密码,服务器端原创 2015-11-17 14:04:57 · 5136 阅读 · 0 评论 -
Java四种线程池的使用
点击打开链接Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newScheduledThreadPool 创建一个定长线程池,支持定时及周期转载 2016-01-29 15:33:48 · 519 阅读 · 0 评论 -
java中native的用法
Java开发中会碰到声明为 native的方法,如:public native int hashCode(); 这是一个native方法。为什么存在native方法呢?Java不是完美的,Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。 可以将native方法比作Jav原创 2016-03-02 14:58:50 · 17276 阅读 · 0 评论 -
java之强引用、弱引用、软引用、虚引用
java中提供了4个级别的的引用,分别是:强引用(FinalReference)、软引用(SoftReference)、弱引用(WeakReference)、PhantomReference(虚引用)下面分别介绍:1、强引用(StrongReference) 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。如下:转载 2016-03-03 14:29:41 · 649 阅读 · 0 评论 -
Java操作Cookie
java对cookie的操作比较简单,主要介绍下建立cookie和读取cookie,以及如何设定cookie的生命周期和cookie的路径问题。 建立一个无生命周期的cookie,即随着浏览器的关闭即消失的cookie,代码如下?1234HttpServletRequest request HttpServletRespo原创 2016-04-05 17:40:19 · 393 阅读 · 0 评论 -
java实现排序的方法-继承Comparable和Comparator
1、java提供的默认List和数组排序方法 代码实现:package zmx.sort.test;import java.text.Collator;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.List;publi原创 2016-04-08 16:19:58 · 8796 阅读 · 1 评论 -
Java类加载顺序
关于类的static成员变量初始化、static初始化块、实例的普通成员变量初始化、实例的普通初始化块以及构造函数的执行顺序,我一直不是十分明确地知道,今天专门花了几个小时的时间参考网上资料设计出了比较明了的测试代码,有代码有结果有真相。总体而言,static部分执行早于普通初始化块早于构造函数,如果一个类继承了某个父类,则父类的static部分最先执行。测试代码设计思路:有三个主线类B、C和D,原创 2016-04-12 16:01:13 · 476 阅读 · 0 评论 -
Java绝对/相对路径获取与getResourceAsStream()方法
Java路径 Java中使用的路径,分为两种:绝对路径和相对路径。具体而言,又分为四种: 一、URI形式的绝对资源路径 如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/aaa.b URL是URI的特例。URL的前缀/协议,必须是Java熟悉的。URL可以打开资源,而URI则不行。 URL和URI对象可以转载 2016-04-13 16:38:57 · 60875 阅读 · 0 评论 -
java中hashcode()和equals()的详解
首先equals()和hashcode()这两个方法都是从object类中继承过来的。 equals()方法在object类中定义如下: public boolean equals(Object obj) { return (this == obj); } 很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们必需清楚,当String 、Math、还有Intege转载 2016-04-15 10:47:22 · 373 阅读 · 0 评论 -
使用HttpUrlConnection进行post请求上传文件
使用HttpUrlConnection模拟post表单进行文件上传平时很少使用,比较麻烦。 原理是: 分析文件上传的数据格式,然后根据格式构造相应的发送给服务器的字符串。格式如下:这里的httppost123是我自己构造的字符串,可以是其他任何的字符串----------httppost123 (\r\n)Content-Disposition: form-da转载 2016-05-11 15:20:45 · 1153 阅读 · 0 评论 -
java性能优化常用技巧
一、避免在循环条件中使用复杂表达式 在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快。 例子: [java] view plain copy print?import java.util.vector; class cel { void method (vecto转载 2016-04-18 09:47:32 · 390 阅读 · 0 评论 -
基于JQuery、Jsonp与Jersey的跨域访问
基于JQuery、Jsonp与Jersey的跨域访问1. 背景在北京地铁数据中心的项目中,有一个中心的数据提供模块,为其他模块提供数据查询服务。由于项目中模块比较多,所以需要使用多机进行分组部署,由此就带来了跨域访问的问题。在本项目中,采用了前后端分离的技术,前端基于JQuery框架,通过自定义的组件,实现界面的开发;后端采用SpringFramework与Jersey结合的方式,转载 2016-05-03 11:01:41 · 960 阅读 · 0 评论 -
JDK动态代理实现及原理分析
原博文地址:http://rejoy.iteye.com/blog/1627405之前虽然会用JDK的动态代理,但是有些问题却一直没有搞明白。比如说:InvocationHandler的invoke方法是由谁来调用的,代理对象是怎么生成的,直到前几个星期才把这些问题全部搞明白了。 废话不多说了,先来看一下JDK的动态是怎么用的。 Java代码 pack转载 2016-04-19 09:26:47 · 490 阅读 · 0 评论 -
ThreadPoolExecutor运转机制及BlockingQueue详解
1、ThreadPoolExecutor的构建参数 最近发现几起对ThreadPoolExecutor的误用,其中包括自己,发现都是因为没有仔细看注释和内部运转机制,想当然的揣测参数导致,先看一下新建一个ThreadPoolExecutor的构建参数:[java] view plaincopypublic ThreadPo翻译 2016-05-19 15:06:46 · 15172 阅读 · 7 评论 -
Java多线程之Semaphore的介绍和使用
Semaphore当前在多线程环境下被扩放使用,操作系统的信号量是个很重要的概念,在进程控制方面都有应用。Java 并发库 的Semaphore 可以很轻松完成信号量控制,Semaphore可以控制某个资源可被同时访问的个数,通过 acquire() 获取一个许可,如果没有就等待,而 release() 释放一个许可。比如在Windows下可以设置共享文件的最大客户端访问个数。 Sema原创 2016-04-19 16:47:22 · 525 阅读 · 0 评论 -
JAVA获取同一路径下所有子类或接口实现类
package zmx.util;import java.io.File; import java.io.IOException; import java.net.URL; import java.util.ArrayList; import java.util.List; import zmx.spring.aop.test.IHelloWorldService;原创 2016-05-04 17:32:13 · 3928 阅读 · 0 评论 -
java使用jxl与poi操作excel文件
import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.util.Iterator;import jxl.Sheet;import jxl.Workbook;import org.apache.poi.hssf.usermodel.HSSFCel原创 2016-04-20 14:29:45 · 638 阅读 · 0 评论 -
java动态代理(JDK和CGlib)
JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理的创建时期,代理类可以分为原创 2016-04-20 15:24:03 · 583 阅读 · 0 评论 -
Java文件下载处理中文名(使用URLEncoder编码及空格变+解决)
解决转换空格 String fileName = StringUtils.trim(file.getName()); String formatFileName = encodingFileName(name);//在后面定义方法encodingFileName(String fileName); response.setHeader("Content-Disposition", "a转载 2016-04-20 15:41:19 · 10048 阅读 · 0 评论 -
InputStreamReader和OutputStreamWriter的用法
首先说明下字节流和字符流:FileReader,FileWriter 是读字符的,1个字符是2个字节,16位OutputStream ,InputStream是读字节的,1个字节是8位如果要读汉字,一个汉字是2个字节,用InputStream读就把汉字折成两半,不太适合吧。字符流主要读文本效率比较高。字节流主要读二进制文件,图片 ,音频,视频等,就是为了防止出现读取的单位放大,原创 2016-05-16 16:31:38 · 868 阅读 · 0 评论 -
Java中InputStream与Reader的区别
java.io下面有两个抽象类:InputStream和ReaderInputStream是表示字节输入流的所有类的超类Reader是用于读取字符流的抽象类InputStream提供的是字节流的读取,而非文本读取,这是和Reader类的根本区别。即用Reader读取出来的是char数组或者String ,使用InputStream读取出来的是byte数组。弄清了两个超类的根本区转载 2016-05-16 17:01:49 · 3436 阅读 · 0 评论 -
Java读/写文件工具类
ReadFileUtil.java1、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内容4、随机读取文件内容 package zmx.util;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileReader;原创 2016-05-17 13:41:24 · 3280 阅读 · 0 评论 -
ResourceBundle.getBundle("baseName")的使用
使用ResourceBundle访问本地资源 在设计时,我们往往需要访问一些适合本地修改的配置信息,如果作为静态变量,那么每次修改都需要重新编译一个class,.config保存此类信息并不适合,这时我们需要ResourceBundle。 通过ResourceBundle,我们需要访问位于/WEB-INF/classes目录下的一个后缀名为properties的文原创 2016-05-17 14:24:15 · 22941 阅读 · 0 评论