String 和StringBuilder、StringBuffer、AbstractStringBuilder简单分析

经常看到String类和StringBuilder类等,一直不知道他们的区别,所以最近看了看他们的源码,看完源码后就清楚多了,这个四个类都是使用字符数组来存储字符串数据的,他们的相关方法,也是对字符数组的数据操作而已。在整理这篇小文的时候,也参考了别人的文章。String,StringBuffer,StringBuilder都是操作字符串的类,他们既有相同点,又有不同点。String类:字符串类,
阅读本文

Redis 安全

Redis 安全参考资料:http://www.runoob.com/redis/redis-security.html我们可以通过 redis 的配置文件设置密码参数,这样客户端连接到 redis 服务就需要密码验证,这样可以让你的 redis 服务更安全。实例我们可以通过以下命令查看是否设置了密码验证:127.0.0.1:6379> CONFIG get requirepass1) “requ
阅读本文

线程安全问题及解决方法

(1)多线程安全问题的原因(也是我们判断一个程序是否有线程安全问题的依据)A:是否有多线程环境B:是否有共享数据C:是否有多条语句操作共享数据 (2)如何解决多线程安全问题呢?基本思想:让程序没有安全问题的环境。怎么实现呢?把多个语句操作共享数据的代码给锁起来,让任意时刻只能有一个线程执行即可(同步代码块)(10)同步解决线程安全问题A:同步代码块   synchronized(对象){   需要
阅读本文

Google安全视频

https://www.youtube.com/watch?v=ZRvWqF2JmUg&list=PLOU2XLYxmsII8UKqP84oaAxpwyryxbM-o&index=4https://www.youtube.com/user/GoogleDevelopers/playlists?shelf_id=0&sort=dd&view=1 https://www.google.com/abou
阅读本文

[Spark性能调优] 第四章 : Shuffle 中 JVM 内存使用及配置内幕详情

本课主题 JVM 內存使用架构剖析Spark 1.6.x 和 Spark 2.x 的 JVM 剖析Spark 1.6.x 以前 on Yarn 计算内存使用案例Spark Unified Memory 的运行原理和机制Spark 对内存管理的源码鉴赏 引言Spark 从1.6.x 开始对 JVM 的内存作出了一种全新的改变,Spark 1.6.x 以前基本上是一个已知的内存使用架构和运行机制,如果
阅读本文

Java进阶(二)当我们说线程安全时,到底在说什么

多线程编程中的三个核心概念原子性这一点,跟数据库事务的原子性概念差不多,即一个操作(有可能包含有多个子操作)要么全部执行(生效),要么全部都不执行(都不生效)。关于原子性,一个非常经典的例子就是银行转账问题:比如A和B同时向C转账10万元。如果转账操作不具有原子性,A在向C转账时,读取了C的余额为20万,然后加上转账的10万,计算出此时应该有30万,但还未来及将30万写回C的账户,此时B的转账请求
阅读本文

Android中常用的几种加密

1、数字摘要  是指通过算法将长数据变为短数据,通常用来标识数据的唯一性,是否被修改,常用的加密算法有md5和sha1两种,如Android的App签名也是用的这两种算法。  md5具有不可逆性,也可用来作为密码加密,并且通常情况下为了让加密过程变得不可预测,我们会进行加盐操作,如下代码:/** * 使用md5方式进行加密 * @return */ public
阅读本文

linux-更改文件属性-chattr与lsattr

chattr命令的用法:chattr [ -RVf ] [ -v version ] [ mode ] 文件         最关键的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]这些字符组合的,这部分是用来控制文件的属性。+ :在原有参数设定基础上,追加参数。- :在原有参数设定基础上,移除参数。= :更新为指定参数设定。 应用举例:1、用chattr命令防止系
阅读本文

留言板小程序开发笔记3

如果使用tp, 则导入:外部的css和js, 可以使用tp的简化方式:import标签, 指明 type属性, 和file属性. type指明是css还是js, 默认是js可以不写. file指明文件的时候, 路径直接从 /Public/写起, 而且不用写扩展名, 因为前面已经指明了文件类型的 由于 import是类似 Think的命名空间函数, 所以 在写路径的时候, 要用点号而不用 斜杠;lo
阅读本文

java线程安全单例

public class MySingleton { // 使用volatile关键字保其可见性 volatile private static MySingleton instance = null; private MySingleton() { } public static MySingleton getInstance() { if (instance
阅读本文

Redis 实现安全队列

Redis的列表数据结构可以让我们方便的实现消息队列例如用 LPUSH(BLPUSH)把消息入队,用 RPOP(BRPOP)获取消息绝大部分的情况下,这些操作都是没问题的,但并不能保证绝对安全当 LPOP 返回一个元素给客户端的时候,会从 list 中把该元素移除,这意味着该元素就只存在于客户端的上下文中,如果客户端在处理这个返回元素的过程崩溃了,那么这个元素就永远丢失了如何解决?redis 有一
阅读本文

java安全架构____keytool数字证书配置tomcat的https实战

//===================1.生成服务端证书=========================\ keytool(java证书管理工具) -genkey ( 在用户主目录中创建一个默认文件“.keystore“,还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书) -alias csdn(别名_csdn) -keypass 123456(指定别名条目的密码(私
阅读本文

密码学、信息安全、信息隐藏(论文)

一、针对如何安全有效的保护在传输过程中的信息,提出对信息的安全传输采取加密和隐藏两大保护措施,通过AES加密算法对带传输信息进行加密,然后以数字图像作为载体,利用LSB算法和DCT变换两种图像嵌入方式将所得密文隐藏在不易被察觉的BMP格式图像中,达到信息传输的双重保护。 论文:一种基于数字图像的安全信息传输方案 论文:Secretsharing scheme based on AES 论文:
阅读本文

集合工具类

Java提供了一个操作Set、List和Map等集合的工具类:Collections,该工具类提供了大量方法对集合进行排序、查询和修改等操作,还提供了将集合对象置为不可变、对集合对象实现同步控制等方法。1.排序操作方法:static void reverse(List<?> list): 反转列表中元素的顺序。static void shuffle(List<?> list) : 对List集
阅读本文

Collection和Collections的区别

1.Collection:是一个集合接口,子类有List和Set的集合2.Collections:是一个帮助类,包含各种集合有关的静态多态方法,此类不能实例化,静态方法实现对各种集合的搜索、排序和线程安全化List:元素是有序的,可重复的       ArrayList:线程不安全的,底层是数组,查询效率较高       LinkedList:线程线程不安全的,底层是双向链表,增删效率较高
阅读本文

APP测试基本流程以及APP测试要点

APP测试流程梳理APP测试要点梳理 1 APP测试基本流程1.1流程图   1.2测试周期测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间。1.3测试资源测试任务开始前,检查各项测试资源。--产品功能需求文档;--产品原型图;--产品效果图;--测试设备;--其他。 1.4日报及产品上线报告(内部报告机制)1)测试
阅读本文

APP安全报告第二期:震惊!10款热门手游的平均安全得分不到35分!

你在玩手游时,可曾遇到过恶意扣费,帐号丢失、手游外挂等情况?如果有,那说明这款手游的安全性并不高,可能已被“黑客”破解,制造了相应的脱机挂、内存挂、加速挂、界面劫持等恶意程序!而这些恶意程序会严重破坏游戏的公平性,导致玩家流失,进而影响到手游开发商和发行商的收益! 最近几维安全[国内顶级的移动安全互联网企业]对2017年2月热门的10款手游进行了专业的安全检测。其结果令人堪忧,只有少数手游对
阅读本文