![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
主要涉及开发过程中java代码优化
谦奕爸爸
路漫漫其修远兮,吾将上下而求索
展开
-
java系列之-下载Zip文件到本地
文章目录前言一、问题处理思路二、接口文档信息三、文档信息分析四、下载Zip到本地总结前言这两天帮忙同事看了一个问题,就是从第三方平台下载很痛压缩文件到本地,他搞了挺长时间没搞出来,为了项目的进度,就稍微花了点时间帮忙处理了一下,刚好很长时间没有做这种压缩文件的处理了,记录一下,凑足本月四篇保底文章,哈哈。一、问题处理思路做这个事情必须明确一下几点:第三方提供相关文档描述没有。确定第三方提供文档的完整性。自身要有一定的辨识度能不能从第三方提供的文档考量文档的可行性。确定服务器连接地址是否原创 2020-12-31 17:13:44 · 2541 阅读 · 0 评论 -
Errors occurred during the build. Errors running builder 'Integrated Externa......
这个异常是我在clean项目时候出现的错误异常:Errors occurred during the build. Errors running builder 'Integrated Externa.......解决办法:最后clean项目就不会报这个错误,个人的错误是这样的不知道其他人类似的异常会不会有,总之,看人品,呵呵!...原创 2016-06-23 11:02:41 · 15069 阅读 · 2 评论 -
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
每个人的错误出现的原因可能不相同,我这里只把我自己出现的问题记录下来供大家参考:这个错误是我启动maven项目时报的错误错误的原因的项目本身的jdk版本是1.8的由于个人操作失误将1.7版本的搞上来了。解决办法:将jdk版本切换成正确的1.8就ok了。...原创 2017-07-18 11:44:07 · 15572 阅读 · 0 评论 -
JAVA i=i++的问题
int i=0; i=i++; 结果i是多少? 这是一个经常被提及的问题,答案一直五花八门。 具体测试一下以说明问题: 代码1:public class Test{ public static void main(String[] args){ int i=0;转载 2017-09-01 13:04:47 · 359 阅读 · 0 评论 -
java自定义异常信息日志输出
用slf4j输出日志的时候,日志信息要不是太简要或者是日志信息太长了不便于查看已经大量日志输出也会浪费内存,于是自己想办法减少日志输出量,还有优化的空间。package com.hrht.util;import java.io.PrintWriter;import java.io.StringWriter;/** * Created by fangyukang on 2017/10原创 2017-10-11 14:53:56 · 4350 阅读 · 0 评论 -
JDK1.8聚合操作
在java8 JDK包含许多聚合操作(如平均值,总和,最小,最大,和计数),返回一个计算流stream的聚合结果。这些聚合操作被称为聚合操作。JDK除返回单个值的聚合操作外,还有很多聚合操作返回一个collection集合实例。很多的reduce操作执行特定的任务,如求平均值或按类别分组元素。JDK提供的通用的聚合操作:Stream.reduce,Stream.collection注意:本文将re...转载 2018-01-10 09:37:16 · 778 阅读 · 0 评论 -
Java Web 中使用ffmpeg实现视频转码、视频截图
转载自:[http://www.cnblogs.com/dennisit/archive/2013/02/16/2913287.html]视频网站中提供的在线视频播放功能,播放的都是FLV格式的文件,它是Flash动画文件,可通过Flash制作的播放器来播放该文件.项目中用制作的player.swf播放器.多媒体视频处理工具FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓转载 2017-07-06 14:40:25 · 3376 阅读 · 1 评论 -
JDK8-十大新特性-附demo
一、十大特性。1.Lambda表达式2.Stream函数式操作流元素集合3.接口新增:默认方法与静态方法4.方法引用,与Lambda表达式联合使用5.引入重复注解6.类型注解7.最新的Date/Time API (JSR 310)8.新增base64加解密API9.数组并行(parallel)操作10.JVM的PermGen空间被移除:取代它的是Metaspace(JEP 122)元空间 二、de...转载 2017-07-05 15:54:19 · 3976 阅读 · 2 评论 -
Thrift交流(二)thrift服务端和客户端实现 Nifty
Nifty是facebook公司开源的,基于netty的thrift服务端和客户端实现。然后使用此包就可以快速发布出基于netty的高效的服务端和客户端代码。https://github.com/facebook/niftyNifty简单例子1)环境搭建pom文件[html] view plain copy dependenc转载 2017-07-05 15:28:56 · 693 阅读 · 0 评论 -
Thrift的数据类型
要编写Thrift定义文件,肯定要熟悉Thrift常见的数据类型:1.基本类型(括号内为对应的Java类型):bool(boolean): 布尔类型(TRUE or FALSE)byte(byte): 8位带符号整数i16(short): 16位带符号整数i32(int): 32位带符号整数i64(long): 64位带符号整数double(double): 64位...转载 2018-03-09 11:27:51 · 1510 阅读 · 0 评论 -
.Net系列之-为什么要掌握 .Net Core
一、事出有因前段时间阿里发布了阿里巴巴代码规约插件,果断将它集成起来。右键->阿里编码规约扫描,立即将不符合阿里编程规范的代码现了原形,不得不服阿里想统一整个java市场的决心啊。怎么?竟然看到我最喜欢使用的Apache BeanUtils.copyProperties()方法后面打了个大大的红叉,提示"避免使用Apache的BeanUtils进行属性的copy"。心里确实不是滋味,从小...原创 2019-04-11 14:33:34 · 1279 阅读 · 0 评论 -
spring系列之-@validated 验证 List 参数
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010588262/article/details/82776088写了个接口:@GetMapping("/do")public int doSth(@RequestBody @Validated(MyGroup.class) List<Bean> myBean)发现@val...原创 2018-12-19 10:40:57 · 5306 阅读 · 0 评论 -
基于Token的WEB后台认证机制
几种常用的认证机制HTTP Basic AuthHTTP Basic Auth简单点说明就是每次请求API时都提供用户的username和password,简言之,Basic Auth是配合RESTful API 使用的最简单的认证方式,只需提供用户名密码即可,但由于有把用户名密码暴露给第三方客户端的风险,在生产环境下被使用的越来越少。因此,在开发对外开放的RESTful API时,尽量避...转载 2018-11-22 13:57:30 · 159 阅读 · 0 评论 -
Java跨域问题的处理详解
1,JavaScript由于安全性方面的考虑,不允许页面跨域调用其他页面的对象,那么问题来了,什么是跨域问题?答:这是由于浏览器同源策略的限制,现在所有支持JavaScript的浏览器都使用了这个策略。那么什么是同源呢?所谓的同源是指三个方面“相同”:1,域名相同2,协议相同3,端口相同2,下面就举几个例子来帮助更好的理解同源策略。URL 说明 是否允许通信 http://www.a.com/a....转载 2018-05-12 16:33:16 · 359 阅读 · 0 评论 -
Thrift交流(一)简单的Thrift
Thrift是一个可伸缩的跨语言的服务开发框架,是facebook开发的一个跨语言通信平台。为各种语言提供快捷的rpc服务。现阶段已经支持C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk, and OCaml等语言。在近来的工作中,重新学习Thrift通信的内容,和大家做个简单的交流。转载 2017-07-05 15:34:07 · 321 阅读 · 0 评论 -
教你如何用java取得web工程目录
1.可以在servlet的init方法里 String path = getServletContext().getRealPath("/"); 这将获取web项目的全路径 例如 :E:\eclipseM9\workspace\tree\ tree是我web项目的根目录 2.你也可以随时在任意的class里调用 this.getClass().getClassLoade转载 2016-10-26 13:59:24 · 474 阅读 · 0 评论 -
各种排序算法的分析及java实现
排序一直以来都是让我很头疼的事,以前上《数据结构》打酱油去了,整个学期下来才勉强能写出个冒泡排序。由于下半年要准备工作了,也知道排序算法的重要性(据说是面试必问的知识点),所以又花了点时间重新研究了一下。 排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。 内排序有可以分为以下转载 2016-07-20 14:22:27 · 842 阅读 · 0 评论 -
eclipse系列之-jar包管理
有时候自己在项目中导入额外的包的时候有时候放在项目下显得很凌乱,这里我提供一种比较实用的方法方便管理外部jar包步骤一:步骤二:步骤三:步骤四:这种方式可以避免项目打开下面拉一长条的jar包,看着就真心的烦。...原创 2016-06-23 10:01:51 · 2439 阅读 · 0 评论 -
SpringMVC验证框架Validation特殊用法
基本用法不说了,网上例子很多,这里主要介绍下比较特殊情况下使用的方法。1. 分组有的时候,我们对一个实体类需要有多中验证方式,在不同的情况下使用不同验证方式,比如说对于一个实体类来的id来说,保存的时候是不需要的,对于更新时是必须的,可以如下配置: public class UserModel { @NotNull(message = "{id.转载 2016-06-21 17:16:27 · 508 阅读 · 0 评论 -
redis系列之-缓存工具类
import java.util.Date;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;public final class RedisUtil { // Redis服务器IP private st...原创 2015-11-26 09:54:27 · 647 阅读 · 0 评论 -
大数据量下高并发同步的讲解(不看,保证你后悔)
对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题,但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧。 为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异步 1、同步和异步的区别和联系 所谓同步,可以理解为在执行完一个函数或转载 2016-10-27 09:53:09 · 1431 阅读 · 0 评论 -
http基础教程
引用学习Web开发不好好学习HTTP报文,将会“打拳不练功,到老一场空”,你花在犯迷糊上的时间比你沉下心来学习HTTP的时间肯定会多很多。HTTP请求报文解剖HTTP请求报文由3部分组成(请求行+请求头+请求体): 下面是一个实际的请求报文: ①是请求方法,GET和POST是最常见的HTTP方法,除此以外还包括DELETE、HEAD、OP转载 2017-02-04 16:01:00 · 673 阅读 · 0 评论 -
log4j输出日志到指定文件并定时备份
og4j可以通过配置文件来控制项目日志的输出,所以web项目中经常会用到log4j。 使用log4j时,一般是写在log4j.xml或者log4j.properties配置文件中,在代码里使用getLogger的时候,它会去自动寻找配置,先找log4j.xml,然后log4j.properties。当然,除了xml和properties以外还有其他的配置文件种类,但是不推荐使用。转载 2017-07-13 15:46:42 · 1896 阅读 · 0 评论 -
JAVA微信开发之weixin4j入门视频
weixin4j入门公开课视频第一课《weixin4j入门视频-新手接入》视频下载地址:http://pan.baidu.com/s/1o63MdPw第二课《weixin4j入门视频-接收消息》视频下载地址:http://pan.baidu.com/s/1i3qzbgT第三课《weixin4j入门视频-回复消息》视频下载地址:http://pan.baidu转载 2017-07-10 16:09:39 · 1798 阅读 · 0 评论 -
Java实现的二分查找算法
二分查找又称折半查找,它是一种效率较高的查找方法。折半查找的算法思想是将数列按有序化(递增或递减)排列,查找过程中采用跳跃式方式查找,即先以有序数列的中点位置为比较对象,如果要找的元素值小 于该中点元素,则将待查序列缩小为左半部分,否则为右半部分。通过一次比较,将查找区间缩小一半。 折半查找是一种高效的查找方法。它可以明显减少比较次数,提高查找效率。但是,折半查找的先决条件是查找表中的数据元素原创 2017-05-12 15:35:30 · 422 阅读 · 0 评论 -
几种常见排序算法总结(java版)
/*************几种常见的排序算法总结***************************/ package paixu; public class PaiXu { final int MAX=20; int num[]=new int[MAX]; {转载 2017-02-04 14:19:37 · 332 阅读 · 0 评论 -
大型网站架构之分布式消息队列
文章已收录于:大型网站架构知识库 目录(?)[-]大型网站架构之分布式消息队列本次分享大纲一消息队列概述二消息队列应用场景1异步处理2应用解耦3流量削锋4日志处理5消息通讯三消息中间件示例1电商系统2日志收集系统1消息模型11 P2P模式12 Pubsub模式2消息消费3JMS编程模型五常用消息队列1 ActiveMQ2 Ra转载 2017-02-04 14:12:48 · 594 阅读 · 0 评论 -
Java集合之ArrayList和LinkedList的实现原理以及Iterator详解
ArrayList实现可变数组的原理: 当元素超出数组内容,会产生一个新数组,将原来数组的数据复制到新数组中,再将新的元素添加到新数组中。 ArrayList:是按照原数组的50%来延长,构造一个初始容量为10的空列表用ArrayList模拟数组:package iterater.patten.design;//探索ArrayList实现的可变数组的原理,用ArrayLis转载 2017-03-01 15:37:30 · 731 阅读 · 0 评论 -
Java程序员的必备知识-类加载机制详解
类加载器的概念类加载器是一个用来加载类文件的类。Java源代码通过javac编译器编译成类文件。然后JVM来执行类文件中的字节码来执行程序。类加载器负责加载文件系统、网络或其他来源的类文件。JVM中类加载器的树状层次结构Java 中的类加载器大致可以分成两类,一类是系统提供的,另外一类则是由 Java 应用开发人员编写的。引导类加载器(bootstrap class loa转载 2017-02-17 09:25:14 · 304 阅读 · 0 评论 -
Struts2框架 的核心原理(图示浅析)
Struts2框架的核心原理图示浅析和配置文件作用Mvc是java开发的核心策略。M-model(模型层),V-view(视图层,表示层),c-controller(控制层逻辑层)。Inbernate封装的是持久层M的框架。Struts2封装的就是控制层C的框架。下图可以看到Struts2在mvc结构中的作用。简单的一些整理, 希望对你们在学习的路上有所帮助。喜欢JAVA的转载 2017-02-17 09:20:37 · 1735 阅读 · 0 评论