9 何静媛

尚未进行身份认证

何静媛

等级
TA的排名 604

BeanUtils.copyProperties不支持复制集合的解决方案

工作中,经常使用Spring的工具类BeanUtils.copyProperties对bean属性进行复制,这里的复制属于浅复制。且不能复制集合和数组。本文会对该工具进行一些测试。文末会提出复制集合属性的解决方案。准备工作:准备测试需要的类 @Data public class Class { private People[] member; private Peo...

2019-11-23 15:32:31

快速排序算法

最开始学习编程,遇到排序问题,一般都是用冒泡法,因为冒泡法好理解,代码量少。但是这种算法时间复杂度高,当需要排序的元素较多时,程序运行时间很长,因此产生了快速排序算法。该算法的实现可分为以下几步:1. 在数组中选一个基准数(通常为数组第一个);2. 将数组中小于基准数的数据移到基准数左边,大于基准数的移到右边;3. 对于基准数左、右两边的数组,不断重复以上两个过程,直到每个子集只有一个...

2019-11-13 15:50:05

Spring Boot学习笔记---Spring Boot 基础及使用idea搭建项目

Spring Boot 概述首先,Spring Boot是一个框架,主要理念就是消除项目中大量的配置文件,使项目更加短小精悍。我们知道 java 的开发显得很笨重:繁多的配置、开发效率低下、复杂的布署流程以及第三方技术集成难度大。所以说,spring boot就是在此环境下产生的。Spring Boot 的核心功能独立运行的Spring 项目 Spring Boot 可以以jar包的...

2019-02-12 16:11:13

java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String

public static void main(String[] args) { Map<String,Object> tt= new HashMap<String,Object>(); int a = 187117; tt.put("aa",a); try { long b = (l...

2019-01-16 15:42:05

Java 如何有效地避免OOM:善于利用软引用和弱引用

Java 如何有效地避免OOM:善于利用软引用和弱引用  想必很多朋友对OOM(OutOfMemory)这个错误不会陌生,而当遇到这种错误如何有效地解决这个问题呢?今天我们就来说一下如何利用软引用和弱引用来有效地解决程序中出现的OOM问题。下面是本文的目录大纲:  一.了解 强引用、软引用、弱引用、虚引用的概念  二.进一步理解软引用和弱引用  三.如何利用软引用和弱引用解决OOM...

2019-01-07 10:54:26

Java内部类的实现原理与可能的内存泄漏

在使用java内部类的时候要注意可能引起的内存泄漏 代码如下package com.example;public class MyClass { public static void main(String[] args) throws Throwable { } public class A{ public void methed1()...

2019-01-07 10:52:54

mongoDB执行插入语句报错com.mongodb.MongoSocketReadException: Prematurely reached end of stream

写在前面,不想看分析的直接看结果:总结来说就是你使用了Decimal128的Bson类型,但是你的mongodb版本低于3.4版本,不支持这个类型。在执行插入语句的时候,报错,如下:2018-07-04 18:14:23.660 ERROR com.mongodb.MongoSocketReadException: Prematurely reached end of streamcom...

2018-12-14 14:22:46

FastJson之@JSONField注解

准备一个Persion类public class Person { private Integer id; private String name; private Integer age; public Integer getId() { return id; } public void setId(Integ...

2018-11-28 16:46:12

linux expect详解(ssh自动登录)

shell脚本实现ssh自动登录远程服务器示例:#!/usr/bin/expectspawn ssh root@192.168.22.194expect "*password:"send "123\r"expect "*#"interact原文链接:http://www.xuanhao360.com/linux-expects/Expect是一个用来处理交互的命令。借助Expect,我们可以将交互...

2018-06-07 17:16:06

解析csv文件

以下内容仅为记录:第一步:解析csv文件 @Test public void testcsv() throws Exception { File csv = new File("C:\\Users\\hjy\\Desktop\\attendace164_20180312.csv"); // CSV文件路径 BufferedReader br = nu...

2018-03-13 20:41:35

JVM性能调优

JVM垃圾回收与性能调优总结JVM调优的几种策略  一、JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为:New(年轻代)Tenured(年老代)永久代(Perm)  其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx:3G)指定的内存中分配,Perm不属于堆内存,有虚拟机直接分配,但可以通过

2018-02-24 16:44:05

聊聊JVM的年轻代

1.为什么会有年轻代我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕死的,如果分代的话,我们把新创建的对象放到某一地方,当GC的时候先把这块存“朝生夕死”对象的区域进行回收,这样就会

2018-02-24 16:00:52

你真的会用Gson吗?Gson使用指南(一)

本文为作者根据日常使用结合Gson源码注释及wiki所作的原创内容,转载请注明出处。本文链接:http://www.jianshu.com/p/e740196225a4JSON (官网) 是一种文本形式的数据交换格式,它比XML更轻量、比二进制容易阅读和编写,调式也更加方便。其重要性不言而喻。解析和生成的方式很多,Java中最常用的类库有:JSON-Java、Gson、Jackson、Fa

2018-01-30 16:20:26

不为人知的Excel转压缩包逆天功能

星爷要是给你一个压缩文件,然后说这是一个Excel文件,你会怎么想?Excel文件确实可以通过压缩软件打包进压缩包中,但是把Excel自身变成压缩文件,多数人应该还没有听说过。— 01 —Excel与压缩包迷之关系其实,Office三姐妹在2007(或以上版本)中采用的后缀分别是xlsx、docx、pptx。这些格式相比旧版本都多了个X,它们

2018-01-12 15:08:06

Base64使用案例

Base64是一种用64个字符来表示任意二进制数据的方法。Base64编码可用于在HTTP环境下传递较长的标识信息以及二进制数据(例如图片文件、PDF文件等等)。Base64的原理很简单,首先,准备一个包含64个字符的码表:['A', 'B', 'C', ... 'a', 'b', 'c', ... '0', '1', ... '+', '/'] 也就是52个

2018-01-10 17:14:08

Java IO流分析整理

之前自己总结的:java IO流Java中的流,可以从不同的角度进行分类。按照数据流的方向不同可以分为:输入流和输出流。按照处理数据单位不同可以分为:字节流和字符流。按照实现功能不同可以分为:节点流和处理流。 输出流: 输入流:因此输入和输出都是从程序的角度来说的。字节流:一次读入或

2018-01-10 16:31:13

ZooKeeper实战应用之【统一配置管理】

大型应用通常会按业务拆分成一个个业务子系统,这些大大小小的子应用,往往会使用一些公用的资源,比如:需要文件上传、下载时,各子应用都会访问公用的Ftp服务器。如果把Ftp Server的连接IP、端口号、用户名、密码等信息,配置在各子应用中,然后这些子应用再部署到服务器集群中的N台Server上,突然有一天,Ftp服务器要换IP或端口号,那么问题来了?不要紧张,不是问 挖掘机哪家强:),而是如何快速

2017-05-19 18:24:46

性能最好的序列化反序列化,Protobuf的用法(maven项目)

首先要在pom.xml里添加Protobuf的jar包 com.dyuproject.protostuff protostuff-core 1.0.8 com.dyuproject.protostuff protostuff-runtime 1.0.8 序列化的实体类User.Jav

2017-05-03 16:50:45

redis中各种数据类型对应的jedis操作命令

一、常用数据类型简介:      Redis常用五种数据类型:string,hash,list,set,zset(sorted set).1.String类型String是最简单的类型,一个key对应一个valueString类型的数据最大1G。String类型的值可以被视作integer,从而可以让“INCR”命令族操作(incrby、decr、decrby),这种情况下,该integer的值限

2016-12-23 16:41:56

Redis数据过期策略探究

通过EXPIRE key seconds命令来设置数据的过期时间。返回1表明设置成功,返回0表明key不存在或者不能成功设置过期时间。在key上设置了过期时间后key将在指定的秒数后被自动删除。被指定了过期时间的key在Redis中被称为是不稳定的。当key被DEL命令删除或者被SET、GETSET命令重置后与之关联的过期时间会被清除。[plain] view plain copy redis 1

2016-09-30 15:54:22

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。