1 灵动的艺术

尚未进行身份认证

知其然亦知其所以然!

等级
TA的排名 2w+

不建议使用sun.misc.BASE64Encoder

最近在项目中用到sun.misc.BASE64Encoder包的BASE64Encoder对字符串进行编码,但是将编码后的字符串输出后发现字符串中存在换行符\r\ngoogle原来“回车换行符(\r\n)”是在Windows才有,而Linux只有换行(\n),Mac只有回车(\r)。建议使用importorg.apache.commons.codec.binary.Base64;进行替换...

2019-07-16 19:36:29

偶像的力量-松哥经典语录

偶像的力量-松哥经典语录网络传输拆包/粘包网络传输拆包/粘包缓冲区不够了,就得拆包,接受端没及时读取缓冲区数据,就会粘包粘包、拆包问题很好解决的,在应用层报文中带长度信息就解决这个问题了tcp的报文头是没长度的,因为是可靠传输。udp有长度信息,所以不会发生拆包粘包问题。在应用层报文中带长度信息就解决这个问题了,否则字节流不知道从哪个地方断开。哪天tcp协议升级了,假如加入了长度信...

2019-07-12 10:27:40

HTTP协议网络请求状态码

HTTP协议网络请求状态码2开头3开头4开头5开头1xx-信息提示2xx-成功3xx-重定向301 被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址。除非额外指定,否则这个响应也是可缓存的。  新的永久性的URI应当在响应的Location域...

2019-07-02 14:40:58

Redis数据结构

Redis数据结构String使用场景常用命令SET可选参数SETNXINCRNoteMSETMSETNX其他List使用场景Set使用场景SortedSet使用场景:Hash使用场景:Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LR...

2019-06-28 10:45:07

Java 8 中的 Streams API 详解

Java8中的StreamsAPI详解为什么需要Stream什么是聚合操作Stream总览什么是流流的构成流的使用详解流的操作map/flatMapfilterforEachfindFirstreducelimit/skipsortedmin/max/distinctMatch进阶:自己生成流Stream.generateStream.iterategroupingBy/partit...

2019-06-26 11:48:09

Java 8 的 Lambda 表达式和流处理

Java8的Lambda表达式和流处理Lambda表达式引入Lambda表达式的动机函数式接口目标类型名称解析流顺序执行和并行执行相遇顺序Spliterator有状态和无状态操作流水线源中间操作终结操作总结原文地址Lambda表达式当提到Java8的时候,Lambda表达式总是第一个提到的新特性。Lambda表达式把函数式编程风格引入到了Java平台上,可以极...

2019-06-26 11:27:00

函数式编程中的重要概念

函数式编程中的重要概念函数式编程范式的意义函数类型与高阶函数部分函数柯里化闭包递归记忆化原文地址函数式编程范式的意义在众多的编程范式中,大多数开发人员比较熟悉的是面向对象编程范式。一方面是由于面向对象编程语言比较流行,与之相关的资源比较丰富;另外一方面是由于大部分学校和培训机构的课程设置,都选择流行的面向对象编程语言。面向对象编程范式的优点在于其抽象方式与现实中的概念比较相近。比如,学生、课...

2019-06-26 11:15:17

函数式编程思想概论

函数式编程思想概论前言函数λ演算λ项绑定变量和自由变量约简α变换β约简η变换纯函数、副作用和引用透明性函数式编程与并发编程总结原文地址前言在讨论函数式编程(FunctionalProgramming)的具体内容之前,我们首先看一下函数式编程的含义。在维基百科上,函数式编程的定义如下:“函数式编程是一种编程范式。它把计算当成是数学函数的求值,从而避免改变状态和使用可变数据。它是一种声...

2019-06-26 10:57:16

Java8 日期、时间骚操作

Java8日期、时间骚操作LocalDate和LocalTimeLocalDateLocalTimeLocalDateTime日期解析与格式化时间调整TemporalAdjuster定制TemporalAdjuster在Java8之前,日期时间API一直被开发者诟病,包括:java.util.Date是可变类型,SimpleDateFormat非线程安全等问题。故此,Java8引入了一套全新的...

2019-06-20 15:31:27

Hotspot JVM的常用选项

HotspotJVM的常用选项选项的分类XX选项的语法指定JVM的类型:-server,-client指定JIT编译器的模式:-Xint,-Xcomp,-Xmixed-version和-showversion查看XX选项的值:-XX:+PrintCommandLineFlags,-XX:+PrintFlagsInitial和-XX:+PrintFlagsFinal内存大小相关的选项Outof...

2019-06-18 19:03:25

Java 指令与字节码

Java指令与字节码查看class文件编写简单java代码编译代码查看class文件Java字节码总的结构表常量池常量池容量计数器鉴于十进制的计算机还遥遥无期,我们目前的计算机都是二进制的计算机,而二进制的计算机仅能识别0和1的信号。经过0和1的多位组合又可以产生更多不同的信号。另外,现在计算机领域通过进行0和1的多位组合表示对字符进行编码(例如Unicode),我们的计算机可以处理字符。同样...

2019-05-10 12:25:29

多线程与死锁

多线程与死锁动态顺序锁死锁Jconsole查看死锁固定锁顺序避免死锁协作锁之间发生死锁开放调用避免死锁RetreenLock锁超时解决死锁Java多线程开发中,为了避免多个线程对同一份数据的操作,我们需要对我们的线程做加锁的操作,只要加锁,就必然存在锁竞争的问题,如果锁竞争的问题处理不当就会出现死锁问题。死锁会让程序一直卡住,程序不再往下执行。我们只能通过中止并重启的方式来让程序重新执行。这...

2019-05-09 13:25:54

Mysql 数据库事物及隔离级别

Mysql数据库事物及隔离级别事务的基本要素(ACID)事务的隔离级别问题数据准备READUNCOMMITTED事务的基本要素(ACID)原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。...

2019-05-08 11:24:27

Mysql Join总结

MysqlJoin总结Mysql连接数据准备新建测试数据库新建测试数据表MySQL交叉连接(CROSSJOIN)MySQL内连接(INNERJOIN)MySQL左连接(LEFTJOIN)MySQL右连接(RIGHTJOIN)ON与Where首先,一张最完美的图来展示我们可能遇到的各种连接场景,当然这幅图不适合Mysql,因为Mysql不支持FullJoin,但是我们依然可以来理解...

2019-05-07 15:42:43

URL和URI

URL和URIURL统一资源定位符URN统一资源名称URI统一资源标识符联系与区别总结URL统一资源定位符URL英文全称为UniformResourceLocator,中文为翻译“统一资源定位符”,是Internet上资源的地址,可以定义为引用地址的字符串,用于指示资源的位置以及用于访问它的协议。URL是在网络上定位资源的最普遍使用的方式,它提供了一种通过描述其网络位置或主...

2019-05-06 17:58:39

Mysql主从复制搭建 与读写分离

Mysql主从复制搭建准备条件Master-Server配置修改配置重启Mysql配置主从复制账户Slave-Server配置修改配置重启Mysql配置Master信息开启主从复制读写分离Master-Server配置Slave-Server配置准备条件准备2台机器先安装MySQL5.7.20Master-Server:192.168.0.100Slave-Server:...

2019-04-11 13:50:30

Centos 源码安装安装Mysql

Centos安装Mysql源码下载安装cmake(mysql5.5以后是通过cmake来编译的)前置条件configCURSES_LIBRARY错误安装ncurses-devel继续config安装配置初始化添加systemV控制脚本启动尝试链接修改密码尝试链接添加系统路径环境变量源码下载传送门安装cmake(mysql5.5以后是通过cmake来编译的)yuminstall-y...

2019-03-26 17:06:47

Centos7增加swap交换空间避免OOM

Centos7增加swap交换空间避免OOM检查系统的Swap信息检查可用的存储空间创建Swap文件启用Swap文件使Swap文件永久生效更改Swap配置(可选)如下所示,当我们使用服务器进行比较耗内存的操作的时候,我们的进程通常会出现由于内存不足被系统内核Kill掉的情况。#tail-f/var/log/messagesMar2612:53:14iZbp10exab3v6j02j...

2019-03-26 14:01:36

FastJson的SerializerFeature序列化特性说明

FastJson的SerializerFeature序列化特性说明FastJson简单使用SerializerFeatureSerializerFeature说明WriteEnumUsingName||WriteEnumUsingToStringDisableCircularReferenceDetectWriteDateUseDateFormatFastJson简单使用我们在使用f...

2019-03-20 14:16:57

CentOS PHP5.6源码安装

CentOSPHP5.6源码安装安装编译环境新建安装目录下载源码解压移动配置安装php虚拟机运行配置文件配置systemV控制脚本配置php.ini配置php-fpm.conf启动安装可能出现的错误依赖记录错误一错误二错误三错误四错误五安装编译环境yuminstallgcc-c++新建安装目录mkdir-p/usr/local/php5.6&&cd/us...

2019-03-08 12:51:26

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。