UUID类

UUID(since 1.5   java.util.UUID)是一种生成无重复字符串的程序类,这种程序类的主要功能是根据时间戳实现一个自动的无重复的字符串定义。所谓的无重复只出现概率很低,有可能是千万亿分之一。’

一般在获取UUID的时候往往都是随机生成一个内容(不用它的构造方法),所以可以通过如下方式获取:

在对一些文件进行自动命名处理的情况下,UUID类型非常好用,当你在网上盗取一些图片的时候往往图片的名字就是UUID生成的

Optional类(since 1.8  新类java.util.Optional)

Optional类的主要功能是进行null的相关处理,在以前进行程序开发的时候,如果为了防止程序之中出现空指向异常,往往会追加有空的验证。

传统的引用传递是一种被动的组成,在引用接收的一方往往都是被动的进行判断,所以为了解决这种被动的处理操作,在Java类中提供有一个Optional类,这个类可以实现null的处理操作,在这个类里面提供有如下的一些操作方法

如果说现在保存的内容是null,则就会在保存处出现异常

由于Optional类中允许保存有null的内容,所以在数据获取的时候也可以进行null的处理。但是如果为null,在使用get获取数据的时候就会出现“

的异常信息,所以此时可以更换为orElse()方法。

在所有引用数据类型的处理之中,null是一个重要的技术问题,所以JDK1.8后提供的这个新的类对于null的处理

很有帮助,同时也是日后在进行项目开发之中使用次数很多的一种程序类。所以一定要理解它是怎么回事。

ThreadLocal类(至关重要的类,解决了核心资源与多线程并发访问的处理情况)

在真正去了解ThreadLocal类作用的时候下面编写一个简单的程序做一个简单的程序进行分析。

定时调度(base模块     java.util.Timer    java.util.TimerTask)

java.util包里面牵扯太多的数据结构的问题了,这个包中的类要是全部掌握透彻了,面试只有自己面别人的份,大部分程序都干写。

TimerTask实现了Runnable接口,所以多线程的操作其实就是一个定时任务,每个任务就是一个线程,

定时器的主要操作是进行定时任务的处理,就好比你们每天早晨起来的铃声不一样。在java里面提供有定时任务的支持,但是这种任务的处理只是实现了间隔触发的操作(比喻一一个闹钟12个小时,一个小时响一次,不能做到准时的几点几分去响)。

如果要想实现定时的处理操作主要需要有一个定时操作的主体类,以及一个定时任务的控制。可以使用两个类实现:

|-间隔触发:public void scheduleAtFixedRate(TimerTask task,long delay,long period)

定时任务在Timer和TimerTask中的确可以实现,但是这种实现可以有一点点麻烦的。如果你现在希望它在某年某月某天的某一时刻执行,要想做到这样的间隔触发麻烦(比如每年的1月1日清空所有记录)。定时任务是java底层提供的操作,它能实现的关键的依据是电脑中的时钟(时钟的出现是让计算机质飞跃的一大重要因素,电脑关机的时候依然可以准确的计时,它有一个时钟器)。

这种定时是由JDK最原始的方式提供的支持,但是实际上开发中利用此类方式进行的定时处理实现的代码会非常的复杂,后面会接触到一些更加专业性的定时调度组件

Base64加密与解密(Base64加密工具处理类)

正常来讲加密基本上永远都要伴随着解密,所谓的加密或者是解密往往都需要有一个所谓的规则(模仿游戏电影)。在JDK1.8开始(1.6的api查不到)提供有一组新的机密处理操作类,Base64处理,在这个类里面有两个内部类:

虽然Base64可以实现加密与解密处理,但是其由于是一个公版的算法,所以如果直接对数据进行加密往往并不安全,那么最好的做法是使用 盐值 操作。

现在觉得虽然加了盐值,但是盐值毕竟是明文还是觉得不安全。

即便现在有盐值实际上发现加密的效果也不是很好,最好的做法是多次加密

最好的做法是使用2-3种加密程序,同时再找到一些完全不可解密的算法。

java类库支持_第十二章:开发支持类库相关推荐

  1. 系统架构师学习笔记_第十二章_连载

    第十二章  系统安全架构设计 12.1  信息系统安全架构的简单描述 信息安全的特征 是为了保证信息的 机密性.完整性.可用性.可控性.不可抵赖性. 以风险策略为基础. 12.1.1  信息安全的现状 ...

  2. C++ Primer记录_第十二章

    文章目录 第十二章 动态内存 12.1 动态内存与智能指针 12.1.1 shared_ptr类 12.1.2 直接管理内存 12.1.3 shared_ptr和new结合使用 12.1.4 智能指针 ...

  3. 为什么c相电路在前面_第十二章 三相电路知识点

    第十二章 三相电路 1.掌握三相电源概念:三相电源电压.频率.相角关系:三相电源的连接:三相电源的相量图. 典型问题包括:什么样的电源可以构成三相电源:三相正序.负序的区别:使用三相电源构建三相四线制 ...

  4. .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现...

    本篇我将带着大家一起来对Dapper进行下封装并实现基本的增删改查.分页操作的同步异步方法的实现(已实现MSSQL,MySql,PgSQL).同时我们再实现一下仓储层的代码生成器,这样的话,我们只需要 ...

  5. vilatile 深入理解java虚拟机_《深入理解Java虚拟机》笔记 第十二章 volatile变量

    当一个变量定义成volatile之后,它将具备两种特性: 1.第一是保证此变量对所有线程的可见性,这里的"可见性"是指当一条线程修改了这个变量的值,新值对于其它线程是可以立即得知的 ...

  6. linux系统日志_第十二章:走进Linux世界——系统日志管理,日志轮转。

    1.关心问题:哪类程序---> 产生的什么日志----> 放到什么地方 2.处理日志的进程 (1) 第一类: rsyslogd: 系统专职日志程序. 处理绝大部分日志记录, 系统操作有关的 ...

  7. 谭浩强c语言不讲位运算呢,谭浩强c语言教程_第十二章-位运算谭浩强c语言教程_第十二章-位运算.doc...

    12位运算1 12.1位运算符C语言提供了六种位运算符:1 12.1.1按位与运算1 12.1.2按位或运算2 12.1.3按位异或运算2 12.1.4求反运算3 12.1.5左移运算3 12.1.6 ...

  8. 使用java理解程序逻辑 第十二章_Java弱引用的理解与使用

    Java弱引用的理解与使用 WeakReference 前言 看到篇帖子, 国外一个技术面试官在面试senior java developer的时候, 问到一个weak reference相关的问题. ...

  9. zynqpl端时钟_第十二章 ZYNQ-MIZ702 PS读写PL端BRAM

    本篇文章目的是使用Block Memory进行PS和PL的数据交互或者数据共享,通过zynq PS端的Master GP0端口向BRAM写数据,然后再通过PS端的Mater GP1把数据读出来,将结果 ...

最新文章

  1. [周年感悟]看软件项目中的四种角色
  2. shell注释与赋值
  3. python如何测试仪器_使用python检测一个设备是否ping的通
  4. ActiveReports 报表应用教程 (4)---分栏报表
  5. 重新安装python2.6 和 yum (不可以直接安装yum yum 依赖于python2.6)
  6. JavaScript中的对象学习笔记(属性操作)
  7. 踩了无数个坑,才写出稿费1000的文章
  8. matlab求解含两个累加公式的方程,使用fsolve 函数求解含两个参数的多个方程问题,希望有会的人帮...
  9. AngularJS中ng-options简单用法及预选项失败的原因
  10. grads插值_利用grads描述文件中的pdef做插值的实用方法,转模式的同学看过来~~...
  11. 重装系统怎样设置从U盘启动的详细教程
  12. 2018年4月5日腾讯考试感想
  13. 法国内政部选择由金雅拓保护该国关键的通信移动网络
  14. 书籍折页是什么效果_问题:WPS里页面设置中的拼页,书籍折页,反向书籍折页分别是什么意思?打印出来的效果是什么样的? 要双面打印...
  15. php的amqp扩展 安装(windows) rabbitmq学习篇
  16. 微软推出经典进程监控工具 Procmon 的 Linux 版本
  17. net-java-php-python-宠物销售系统计算机毕业设计程序
  18. Algorithm:数学建模大赛(CUMCM/NPMCM)之数学建模(经验/技巧)、流程(模型准备/模型假设/建模/求解/分析/优化/预测/评价)、论文写作(意义/摘要/关键词/问题重述和模型假设/建
  19. ssis-状态为在执行中,组件的颜色一直为黄色
  20. 将字符串形式的日期转换成日期对象

热门文章

  1. json数据转换异常:net.sf.json.JSONException: java.lang.reflect.InvocationTargetException
  2. 解决ifconfig没有网卡问题
  3. 我可以在CSS中使用onclick效果吗?
  4. UITableView单元格选择颜色?
  5. 建立.NET Core控制台应用程序以输出EXE?
  6. 如何在Java中将字节数组转换为十六进制字符串?
  7. 将先前的提交分成多个提交
  8. 为什么文本文件以换行符结尾?
  9. ros开发增加clion常用模板及初始化配置(六)
  10. Spring事物配置文件