Java
文章平均质量分 83
java专栏
懒惰虫儿
说走就走,说停就停,说做就做,拿得起放得下,人生是一场修行!
展开
-
Java开发实战中的深拷贝和浅拷贝
1.深拷贝和浅拷贝的理解1.1 浅拷贝顾名思义,浅,即拷贝得比较浅,拷贝一个对象时除了对象下的8大基本数据类型和String类型外,其他自定义对象构成的属性都是指向source对象的自定义对象构成的属性的地址。所以,浅拷贝的使用场景一般是拷贝后不会对该对象的自定义对象的属性做修改,只做查询的时候使用。如果拷贝后修改其值再使用source对象,你会发现,source对象的自定义对象的属性值也被修改了。1.2 深拷贝同上,深,即拷贝得比较深,指的是完全拷贝,对象及对象中的属性都使用堆中新开辟的地址原创 2021-04-24 12:16:53 · 743 阅读 · 0 评论 -
Hadoop集群搭建Docker实现方式
目录1.Docker安装2.拉取Centos镜像用作Hadoop集群2.1 拉取Centos镜像2.2 创建容器2.3 安装OpenSSH免密登录2.3.1 cluster-master安装OpenSSH免密登录2.3.2 分别对cluster-slave安装OpenSSH免密登录2.3.3 cluster-master公钥分发2.4 Ansible安装3.安装JDK及Hadoop3.1安装jdk3.2安装Hadoop1.Docker安装Docker安装教程点击这里2.拉取Centos镜像用作Hado原创 2021-01-27 20:30:10 · 382 阅读 · 0 评论 -
Java导出Excel表的两种方式
背景新公司会员分销报表管理系统有导出excel表的场景,通过查找,项目中并没有excel表相关工具类,故手写了一个工具类给大家分享一下,以备不时之需。注意1.该工具类包含导出和导入解析功能,其中导入解析功能需读者根据自身业务情况做进一步封装。2.工具类中有笔者自己的CommonException异常类,需读者根据自身业务做相应调整和替换。import com.zzx.commons.exceptions.CommonException;import org.apache.poi.hssf原创 2020-11-24 22:45:29 · 7529 阅读 · 3 评论 -
Ribbon的负载均衡策略及原理
目录概述使用负载均衡带来的好处概述Load Balance负载均衡是用于解决一台机器(一个进程)无法解决所有请求而产生的一种算法。像nginx可以使用负载均衡分配流量,ribbon为客户端提供负载均衡,dubbo服务调用里的负载均衡等等,很多地方都使用到了负载均衡。使用负载均衡带来的好处1.当集群里的1台或者多台服务器down的时候,剩余的没有down的服务器可以保证服务的继续2.使用使用了更多的机器保证了机器的良性使用,不会由于某一高峰时刻导致系统cpu急剧上升负载均衡有好几种实现策略,常原创 2020-10-18 20:45:32 · 358 阅读 · 0 评论 -
基于Java语言的桌面应用
目录一、应用介绍二、界面部分Java代码分享三、地址分享一、应用介绍首先给大家展示个截图,它就长这个样:功能:推送微信服务号模板消息。二、界面部分Java代码分享package com.zzx.core;import com.zzx.listener.DownloadListener;import com.zzx.listener.StartListener;import c...原创 2020-02-29 10:13:38 · 864 阅读 · 0 评论 -
com.sun.image.codec.jpeg包引发的战争
目录一、发现问题1.定位问题2.分析问题3.假设4.证明二、解决问题1 分析解决方案有两种2.替代方案:3. 测试4.反思今天,公司测试人员在C端测试环境注册账号时发现验证码图片显示不出来,报500。“又是以前程序员遗留下来的bug等着我们来收拾烂摊子了” 我的脑海里很自然的浮现出这几话。我在本地启动项目打着断点一步一步的边走边看,没有问题啊!“是不是谁动服务器了”, 我重新打包项目到服务器重启...原创 2020-02-14 17:59:09 · 1868 阅读 · 0 评论 -
JAVA8 函数式编程
1.Lambda 表达式的由来为了编写这类处理批量数据的并行类库,需要在语言层面上修改现有的 Java:增加 Lambda 表达式。2.什么是函数式编程在思考问题时,使用不可变值和函数,函数对一个值进行处理,映射成另一个值。3.Lambda 表达式的不同形式Runnable noArguments = () -> System.out.println("Hello World");...原创 2019-11-03 16:13:56 · 239 阅读 · 0 评论 -
用exe4j将jar包打包成exe文件实现无java环境运行
目录一、打包步骤1.使用如下:2.勾选JAR in EXE mode3.exe文件选择输出路径4.exe文件命名和64-bit5.选择jar文件路径和函数入口6.选择jdk版本和jar路径7.用默认设置8.用默认设置9.完成jar包装exe包二、测试1.查看输出情况2. 双击.exe文件启动成功一、打包步骤1.使用如下:2.勾选JAR in EXE mode3.exe文件选择输出路径...原创 2020-03-02 19:33:27 · 1300 阅读 · 1 评论 -
Java 并发编程(一)线程安全怎么做?
1 什么是线程安全?一段程序在多线程环境下始终能表现出正确的行为和计算结果就是线程安全的。程序包括输入、运算、输出三个阶段,一段有意义的程序通常可以归类为:只有输入-运算,只有运算-输出,输入-运算-输出。计算的中间结果会保存在内存中,中间结果是上一个阶段的输出,也是下一个阶段的输入。输入值是“观察”所得,运算是“执行”过程。线程安全问题的产生本质上是多线程环境下“先观察后...原创 2019-04-10 22:11:37 · 438 阅读 · 0 评论 -
深度解析java虚拟机
一、运行时数据区域1.程序计数器是一块较小的内存,负责在字节解码器工作的时候通过改变计数器的值获取下一条需要执行的字节码的指令,如分支,循环,跳转,异常处理等基础功能。在多线程中每个线程都有自己独立的程序计数器,它是线程私有的内存。程序计数器是JVM中唯一没有OutOfMemmoryError异常的内存。2.Ja...原创 2019-04-10 21:45:13 · 200 阅读 · 0 评论 -
SpringBoot自动扫描管理jar包下Bean
目录一、背景二、准备工作三、启动项目时扫描jar包下bean的三种方式1.@ComponentScan扫描方式2.自定义@Enable****的方式3.自定义xxx-boot-start依赖的方式一、背景在springboot项目中,我们难免会引入其他的jar包,如果该jar包只是有个简单的工具包倒是很好办直接install到本地然后添加依赖引用就行。那么如果该jar包中有需要在启动项目时也...原创 2019-12-03 13:22:32 · 7525 阅读 · 4 评论 -
分布式系统Session共享(一)SpringBoot+Redis实现方式
目录一、Session共享介绍1.什么是Session共享2.为什么要实现Session共享二、Session共享的简单实现1 配置pom.xml文件2 配置Redis数据源3 启动类添加注解4 测试一、Session共享介绍1.什么是Session共享2.为什么要实现Session共享二、Session共享的简单实现要在SpringBoot中实现Redis共享只需要下面前三步即可1 ...原创 2019-10-10 18:55:59 · 225 阅读 · 0 评论 -
SpringBoot+Mybatis多数据源配置
目录一、项目结构二、项目配置1.pom.xml依赖2.application.yml配置文件配置数据源3.在config包下分别配置两个数据源1)DataSource1Config2)DataSource2Config3.完善项目,从底层往上构建1.构建dao层1)DaoOne2)DaoTwo2.构建控制层1)OneController类2)TwoController类3.构建POJO类1)Gir...原创 2019-09-21 12:13:04 · 379 阅读 · 1 评论 -
Springboot项目集成Hibernate框架
笔者在开发中以前一直使用mybatis框架,一直用一个东西难免会觉得自己太闭塞。所以最近抽空找了下hibernate最新最简单的用法,很容易上手,这里跟大家分享下。一、添加Hibernate需要的所有Maven依赖 <dependency> <groupId>org.springframework.boot</groupId> ...原创 2019-05-21 11:57:25 · 2129 阅读 · 2 评论 -
Gradle下载配置及整合Springboot项目
一、下载gradlehttp://services.gradle.org/distributions/下载bin.zip的包2.解压到自定义目录3.配置环境变量win8或以下#新建#GRADLE_HOME#D:\gradle\gradle-5.4-rc-1#配置path#%GRADLE_HOME%\binwin10#直接在path后面加上#;D:\gradle\gr...原创 2019-05-07 17:33:36 · 1005 阅读 · 0 评论 -
SpringBoot项目集成Jasypt安全框架
springboot整合mybatis时会配置数据库ip用户名和密码,反编译jar包后这些信息会赤裸裸的暴露在我们面前。解决这个问的的方法就是springboot整合Jasypt安全框架,隐藏明文。具体步骤:1.添加maven依赖<dependency> <groupId>com.github.ulisesbocchio</groupId> &...原创 2019-05-07 13:34:34 · 505 阅读 · 0 评论 -
Springboot项目整合Mongodb数据库
Mongodb在Springboot中的使用步骤:创建一个springboot项目;https://blog.csdn.net/Z_Vivian/article/details/89398469在pom.xml中添加maven依赖<dependency> <groupId>org.springframework.boot</groupId> <...原创 2019-04-25 17:31:53 · 470 阅读 · 0 评论 -
Spring和SpringBoot集成PageHelper
目录一、Spring集成PageHelper1.添加maven依赖2.配置mybatis-config.xml文件3.在service中使用pagehelper二、SpringBoot集成PageHelper1.添加maven依赖2.在service中使用pagehelper一、Spring集成PageHelper1.添加maven依赖<!-- mybatis核心包 --> ...原创 2019-12-12 13:42:54 · 279 阅读 · 0 评论 -
Android SDK 下载安装及配置
目录一、下载Android SDK1. Android SDK下载地址2.找到合适的版本下载到本地二、安装Android SDK1.将下载好的Android SDK包放到合适的位置并解压2.双击“SDK Manager.exe”,启动SDK Manager安装工具三、配置环境变量1.新建ANDROID_SDK_HOME2.添加path路径3.测试是否安装成功一、下载Android SDK1. ...原创 2020-02-08 12:01:47 · 34502 阅读 · 10 评论 -
IntelliJ IDEA证书过期解决方案
目录一、IntelliJ IDEA 2017.2 License如下二、IntelliJ IDEA 2019.3解决方案一、IntelliJ IDEA 2017.2 License如下http://idea.toocruel.net二、IntelliJ IDEA 2019.3解决方案博客地址:https://www.cnblogs.com/allenj1234/p/12154663.h...原创 2020-03-02 21:44:05 · 8405 阅读 · 0 评论