- 博客(41)
- 收藏
- 关注
原创 运行时数据区
java 与 c/c++之间有一堵由内存动态分配和垃圾收集技术所围成的"高墙",墙外面的人想进去,墙里面的人却想出来.对于 java 程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每一个 new 操作去写配对的 delete/free 代码,不容易出 现内存泄漏和内存溢出.有虚拟机管理内存,这一切看起来都很美好.但是,也正因为 java 程序员把内存控制的权...
2019-11-30 19:49:36 208
原创 类加载机制
1.什么是类加载 虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的 java 类 型,这就是虚拟机的类加载机制. 与那些在编译时需要进行连接工作的语言不同,在 java 语言中,类型的加载,连接和初始化过程都是在程序运行期间完成的,这种策 略虽然会令类加载时稍微增加一些性能开销,但是会为 java 应...
2019-11-30 16:58:53 150
原创 认识 Java 虚拟机
1.Java 跨平台原理 JVM 是 Java Virtual Machine(Java 虚拟机)的缩写,JVM 是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过 在实际的计算机上仿真模拟各种计算机功能来实现的. JVM 将自身定位于字节码和底层平台之间.运行程序的物理机器的情况千差万别,而 Java 虚拟机则在千差万别的物理机上建立了统 一的运行平台....
2019-11-30 16:57:30 196
转载 java限流
高并发访问时,缓存、限流、降级往往是系统的利剑,在互联网蓬勃发展的时期,经常会面临因用户暴涨导致的请求不可用的情况,甚至引发连锁反映导致整个系统崩溃。这个时候常见的解决方案之一就是限流了,当请求达到一定的并发数或速率,就进行等待、排队、降级、拒绝服务等...限流算法介绍a、令牌桶算法令牌桶算法的原理是系统会以一个恒定的速度往桶里放入令牌,而如果请求需要被处理,则需要先从桶...
2019-11-24 13:19:31 1331
原创 WebScoket聊天室Springboot版
本文是基于注释的案例,对于发送语音采用了类似文件上传下载一样的方式实现,不过播放会有一点儿延迟,正在改进。1、首先导入webScoket相关的jar<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websoc...
2019-04-28 20:02:57 325
原创 Linux配置两个Tomcat
1、首先需要查看jdk环境变量是否配置好,jdk环境变量没有配置也可以用Java -version来查看版本信息如果没有安装jdk则需要先下载jdk再配置号jdk环境变量具体下载配置如下:jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html在根目...
2019-04-16 17:35:58 1103
原创 Java获取IP
package com.fun.framework.utils;import java.util.Date;import javax.servlet.http.HttpServletRequest;import org.springframework.core.io.ClassPathResource;import org.springframework.web.context.r...
2018-09-20 13:04:44 172
原创 java自定义注解
import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/** * @Inherited允许子类继承父类中的注解 * @Doc...
2018-09-20 12:16:39 373 2
原创 Java手机验证码
private final OkHttpClient client = new OkHttpClient.Builder().connectTimeout(3, TimeUnit.SECONDS).readTimeout(60, TimeUnit.SECONDS).retryOnConnectionFailure(false).build(); private final String...
2018-09-17 13:50:33 234
原创 Java头像上传
@RequestMapping(path = { "/user-img-upload" }, method = { RequestMethod.POST }) public AjaxReturn fileUpload2(HttpServletRequest request,@RequestParam("file") MultipartFile file,String account){...
2018-09-02 18:39:21 896
原创 java判断手机号是否合法
import java.util.regex.Matcher;import java.util.regex.Pattern;public class PhoneUtil { /** * 验证手机号是否合法 * @return */ public static boolean isMobileNO(String mobile){ ...
2018-09-01 15:20:18 11720 4
原创 Java集成融云服务端
复制官方demo中pom中的jar资源位置登录controller(登录时获取融云提供得token,通过用户账户当作融云获取token得ID)融云用户关系需要自己实现import java.util.*;import java.util.concurrent.TimeUnit;import javax.servlet.http.HttpServletRequest;impo...
2018-08-28 17:36:18 3069 7
原创 Java极光服务端对接
首先在项目中引入极光的相关jar包import cn.jiguang.common.resp.APIConnectionException;import cn.jiguang.common.resp.APIRequestException;import cn.jpush.api.JPushClient;import cn.jpush.api.push.PushResult;import...
2018-08-28 17:21:53 1156
转载 StringUtils用法
/*1.字符串以prefix开始*/StringUtils.startsWith("sssdf","");//结果是:trueStringUtils.startsWith("sssdf","");//结果是:trueStringUtils.startsWith("sssdf","s");//结果是:trueStringUtils.startsWith("sssdf",&
2018-07-03 15:40:26 3158
原创 JavaExcel导出
@RequestMapping(path = { "api-mem-info-export" }, method = { RequestMethod.POST }) public ResponseEntity<byte[]> ddd(HttpServletRequest request) throws BusinessException{ MemUserInfo memUserI...
2018-06-21 14:33:49 147
原创 java文件上传
<form name="Form2" action="/api-mem-info.json" method="post" enctype="multipart/form-data"> <h1>采用multipart提供的file.transfer方法上传文件</h1> <input type="file"
2018-06-21 14:32:03 117
原创 Java读取Excel
用Java读取Excel需要导入相关的包。下面是项目中用到的jar包。具体的代码如下:public Map<String, String> Upload(HttpServletRequest request) throws FileUploadException, IOException { Map<String, String> result = new HashMap...
2018-06-08 17:04:46 283
转载 Boolean.valueOf(true)和true的区别
出处:http://blog.csdn.net/leixiaotao_java/article/details/546181301.Boolean是boolean的封装类,扩展了很多方法。2.true存储空间为一个字节。需要产生Boolean类型实例,开辟新的内存空间,然后取boolean value。3.Boolean.valueOf(true)返回一个Boo
2018-02-02 14:26:02 4052 2
转载 NumberUtils.toInt和Integer.valueOf的区别
(1):Integer ad_id = NumberUtils.toInt(map.get("ad_id"), 0);(2):Integer ad_id = Integer.valueOf(map.get("ad_id"))第二种若转换不成Integer就会报错;而第一种不会,而且可以设置默认值;如下:
2018-02-02 14:16:37 1415
转载 Spring boot 拦截器
本文来自:http://blog.csdn.net/catoop/article/details/71541612仅为方便自己参考学习常用用于实现拦截的有:Filter、HandlerInterceptor、MethodInterceptor第一种Filter属于Servlet提供的,后两者是Spring提供的,HandlerInterceptor属于Spring MVC项目提
2018-01-01 22:25:26 173
转载 java排序算法
冒泡排序主要思想:外层循环从1到n-1,内循环从当前外层的元素的下一个位置开始,依次和外层的元素比较,出现逆序就交换。 特点:stable sort(稳定性排序)、In-place sort(不占用额外的空间,只是交换元素) 最优复杂度:当输入数组就是排好序的时候,复杂度为O(n),而快速排序在这种情况下会产生O(n^2)的复杂度。 最差复杂度:当输入数组为倒序时,复杂度为O(
2017-11-22 15:49:47 223
转载 23种设计模式(四)
出处:http://blog.csdn.net/zhangerqing其实每个设计模式都是很重要的一种思想,看上去很熟,其实是因为我们在学到的东西中都有涉及,尽管有时我们并不知道,其实在Java本身的设计之中处处都有体现,像AWT、JDBC、集合类、IO管道或者是Web框架,里面设计模式无处不在。因为我们篇幅有限,很难讲每一个设计模式都讲的很详细,不过我会尽我所能,尽量在有限的空间和篇幅内
2017-11-20 21:03:27 164
转载 23种设计模式(三)
出处:http://blog.csdn.net/zhangerqing先来张图,看看这11中模式的关系:第一类:通过父类与子类的关系进行实现。第二类:两个类之间。第三类:类的状态。第四类:通过中间类13、策略模式(strategy)策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。需要设计一
2017-11-20 21:01:59 157
转载 23种设计模式(二)
出处:http://blog.csdn.net/zhangerqing我们接着讨论设计模式,上篇文章我讲完了5种创建型模式,这章开始,我将讲下7种结构型模式:适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式。其中对象的适配器模式是各种模式的起源,我们看下面的图:6、适配器模式(Adapter) 适配器模式将某个类的接口转换成客户端期望的另一
2017-11-20 20:59:53 151
转载 23种设计模式(一)
转载出处:http://blog.csdn.net/zhangerqing 设计模式(Design Patterns) ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解
2017-11-20 20:57:06 210
转载 JAVA中获取文件MD5值的四种方法
JAVA中获取文件MD5值的四种方法 JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现。获取文件MD5值主要分为三个步骤,第一步获取文件的byte信息,第二步通过MessageDigest类进行MD5加密,第三步转换成16进制的MD5码值。几种方法的不同点主要在第一步和第三步上。具体可以看下面的例子:
2017-11-15 11:11:24 80795 5
转载 Spring AOP详解
Spring AOP详解一.前言 在以前的项目中,很少去关注spring aop的具体实现与理论,只是简单了解了一下什么是aop具体怎么用,看到了一篇博文写得还不错,就转载来学习一下,博文地址:http://www.cnblogs.com/xrq730/p/4919025.htmlAOPAOP(Aspect Oriented Programming),即面向切面编
2017-11-14 16:55:57 161
转载 Java 中使用 Redis
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String
2017-11-14 15:53:22 458
转载 简单应用shiro
一、架构要学习如何使用Shiro必须先从它的架构谈起,作为一款安全框架Shiro的设计相当精妙。Shiro的应用不依赖任何容器,它也可以在JavaSE下使用。但是最常用的环境还是JavaEE。下面以用户登录为例:(1)使用用户的登录信息创建令牌UsernamePasswordToken token = new UsernamePasswordToken(username
2017-11-14 15:08:07 223
原创 常用Linux命令
1. linux目录结构目录名目录作用/bin存放系统命令,普通用户和超级用户(root)都可以执行,在单用户模式下也可以执行/sbin存放系统环境设置相关的命令,只有超级用户(root)可以使用这些命令/usr/bin存放系统命令,普通用户和超级用户(root)。这
2017-11-10 19:34:07 508
原创 Socket编程
Socket编程1. Socket简介Socket通常称作“套接字”,用于描述IP和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提各种服务。每种服务都打开一个socket,并绑定到一个端口上,不同的端口对应于不同的服务。2. Socket编程网络编程就是直接或间接的通过网络协议与其他计算机进行通信。其中最重要的两点:1.如何准确定位到网络
2017-11-10 17:12:55 276
原创 什么是XML
XML1. XML1.1 什么是XMLXML(Extensible Markup Language)可扩展标记语言,被设计用来传输和存储数据。XML是独立于软件和硬件的信息传输工具。XML标签可以由用户自定义。1.2 XML文档实例xml version="1.0" encoding="UTF-8"?>books> book category="小说"
2017-11-10 16:22:34 190
转载 jackson 实体转json 为NULL或者为空不参加序列化
jackson 实体转json 为NULL或者为空不参加序列化1.实体上@JsonInclude(Include.NON_NULL) //将该标记放在属性上,如果该属性为NULL则不参与序列化 //如果放在类上边,那对这个类的全部属性起作用 //Include.Include.ALWAYS 默认 //Include.NON_DEFAULT 属性为默认值不序列
2017-11-09 19:18:42 756
原创 Mybatis入门
Mybatis一、mybatis介绍 mybatis是一个优秀的持久层框架,对jdbc操作数据库的过程进行封装,开发人员 只需要关注sql本身。mybatis支持普通sql查询,存储过程和高级映射。可以使用简单 的xml或注解配置,将java对象和sql映射生成最终执行的sql语句,最后由mybatis框架 执行sql并将结果映射成java对象返回。 ①myb
2017-10-27 09:13:49 284
原创 springIOC简述
1、spring概述 spring是一个开源的设计层面框架,解决的是业务逻辑和其他各层的松耦合问题,因为他将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式)轻量级开源框架。 spring框架由很多模块组成,IO
2017-10-26 20:14:00 605
转载 java线程 同步与异步
java线程 同步与异步1)多线程并发时,多个线程同时请求同一个资源,必然导致此资源的数据不安全,A线程修改了B线程的处理的数据,而B线程又修改了A线程处理的数理。显然这是由于全局资源造成的,有时为了解决此问题,优先考虑使用局部变量,退而求其次使用同步代码块,出于这样的安全考虑就必须牺牲系统处理性能,加在多线程并发时资源挣夺最激烈的地方,这就实现了线程的同步机制同步:A
2017-10-25 21:57:56 361
原创 spring事物管理
事物1、事物介绍 事物事逻辑上的一组操作,组成这组操作的各个逻辑元素单元,要么一起成功,要么一起失败。1.1 事物的特性 原子性(atomicity):一个事物事一个不可分割的工作单位。 一致性(consistency):事物必须是数据从一个一致性状态变成到另一个一致性状态。 隔离性(isolation):一个事物的执行不能被其他事物干扰,一个事
2017-10-25 19:27:20 183
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人