- 博客(42)
- 收藏
- 关注
原创 常用的几种加密算法以及java实现
工作中时不时的接触到一些加密算法,有md5、des、aes、对称加密、非对称加密、可逆算法、不可逆算法,那么这些算法这些概念都有什么区别呢,今天闲来无事打算梳理一下。一、什么是加密解密,加密的目的是什么?所谓加密,就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为 “密文”。目的就是保护数据不被非法窃取、阅读。所谓解密,也就是加密的逆过程,即将该编码信息转化为...
2020-01-21 15:35:24
1121
转载 秒懂mysql中的group by用法
文章转载自:https://blog.youkuaiyun.com/u014717572/article/details/80687042先来看下表1,表名为test:执行如下SQL语句:SELECT name FROM test GROUP BY name你应该很容易知道运行的结果,没错,就是下表2:可是为了能够更好的理解“group by”多个列“和”聚合函数“的应用,我建议在思考的过程中...
2019-06-06 18:13:23
45240
21
转载 如何使用HQL语句进行排序
文章转载自:https://blog.youkuaiyun.com/laijunpeng/article/details/12280917
2019-06-06 11:20:46
1725
原创 hibernate中如何使用@NameQuery的in语法
在实体类中添加@NameQuery注解@Entity@Table(name="t_ba_model")@NameQuery(name = "getName", query = "select ur.vdcId from Model where ur.vdcId in (:vdcList)")public class Model{ @Column(name = "vdcid") ...
2019-05-15 11:07:08
1526
转载 java中Thread.join()方法
1. Thread.join()方法是什么Thread.join()方法是Thread类中的一个方法,该方法的定义是等待该线程终止。其实就是join()方法将挂起调用线程的执行, 直到被调用的线程完成它的执行。举例说明:在主线程中调用t1.join()方法,主线程将等待t1线程终止。join()方法挂起主线程的执行,直到t1执行完毕后主线程才接着执行。2. Thread.join如何使用现...
2019-05-12 14:31:56
1174
原创 java关键字之synchronized
synchronized是什么synchronized解决什么问题在多线程环境中,当两个或多个线程尝试更新共享数据时,会发生竞争条件(race condition)。java提供一种机制来避免竞争条件的发生,就是synchronized关键字synchronized是如何使用的在java代码中使用synchronized可是使用在代码块和方法中,根据Synchronized用...
2019-05-12 12:59:04
202
原创 三种工厂模式的比较
下面例子中鼠标,键盘,耳麦为产品,惠普,戴尔为工厂。简单工厂模式简单工厂模式不是 23 种里的一种,简而言之,就是有一个专门生产某个产品的类。比如下图中的鼠标工厂,专业生产鼠标,给参数 0,生产戴尔鼠标,给参数 1,生产惠普鼠标。工厂模式工厂模式也就是鼠标工厂是个父类,有生产鼠标这个接口。戴尔鼠标工厂,惠普鼠标工厂继承它,可以分别生产戴尔鼠标,惠普鼠标。生产哪种鼠标不再由参数决定,...
2019-04-05 14:37:49
664
翻译 (译)JAVA设计模式【三】——单例模式
单例模式是JAVA中最简单的设计模式。这种设计模式属于创造型模式。这种设计模式需要有一个类,这个类负责创建并确保只有一个对象被创建。实现创建类SingleObject,这个类中有一个私有的构造方法,确保不能从外部进行实例化。同时,还有一个它自身的静态实例。SingleObject类提供有一个静态方法用于从外部获取其静态实例。demo类使用SingleObject提供的静态方法就可以获取...
2019-04-02 19:37:39
119
翻译 JAVA中的设计模式——概览
设计模式代表了面向对象的软件开发者最佳的实践,是软件开发者在软件开发过程中所遇到一些问题的优秀解决方案。这些解决方案是无数的软件开发者在大量的实践中总结出来的。这个系列文章将会通过介绍和实例,带领你一步一步走进设计模式的大门。前提条件在学习设计模式之前,你最好对基本JAVA语法有一定的了解。什么是GOF?1994年四个作者Erich Gamma, Richard Helm, Ralph ...
2019-03-30 17:45:21
2215
翻译 (译)JAVA设计模式【二】——抽象工厂模式
抽象工厂模式一般有一个超级工厂,这个工厂能够创建其它的工厂,也被称为"工厂的工厂"。同简单工厂模式样,这种设计模式也属于创造模式实现首先,定义接口Shape,以及其实现类。其次,定义一个抽象工厂类AbstractFactory。工厂类ShapeFactory以及RoundedShapeFactory继承这个抽象类。FactoryProducer就是创建其它工厂的工厂类。最后,我们的demo...
2019-03-28 21:05:36
141
翻译 (译)JAVA设计模式【一】——简单工厂模式
文章翻译自设计模式之工厂模式工厂模式是JAVA中使用最广泛的设计模式之一。这种设计模式可以归入创建模式大类。因为它提供了一种非常好的创建一个对象的方式。使用工厂模式,我们并不会把创建对象的逻辑暴露给客户端,并且通过一个公共接口就可以引用刚刚创建的对象。实现过程首先,创建一个Shape接口以及多个实现此接口的类。然后,创建一个工厂类ShapeFactory最后,在demo类Factory...
2019-03-20 21:51:02
157
转载 MYSQL 存储过程
原文地址:http://www.runoob.com/w3cnote/mysql-stored-procedure.htmlMySQL 5.0 版本开始支持存储过程。存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来...
2018-12-18 20:15:50
146
原创 mariadb执行select nextval(q)报错
mariadb执行select nextval(q)报错;经过验证语法应该为: select nextval(q)
2018-08-09 16:36:38
1738
原创 使用sqlalchemy,如何查询字段为空
方法一: table.column is None 经过测试,行不通。方法二: table.column == None 经过测试,可以。但是,不符合pep8规范。
2018-07-04 08:52:19
8111
2
转载 [转]数据库索引到底是什么,是怎样工作的?
转载自:https://blog.youkuaiyun.com/weiliangliang111/article/details/51333169我们通过一个简单的例子来开始教程,解释为什么我们需要数据库索引。假设我们有一个数据库表 Employee, 这个表有三个字段(列)分别是 Employee_Name、Employee_Age 和Employee_Address。假设表Employee 有上千行数...
2018-05-11 15:10:54
263
原创 keystone中的消息通知
keystone提供了对资源使用情况的通知,以便第三方应用能够对资源进行计费、监控、配额管理等操作。目前有两种通知格式,分别为cadf和basic。默认为cadf,可以在keystone.conf中进行配置(notification_format = cadf) 关于两种格式的区别请参考: https://docs.openstack.org/keystone/latest/advanced-...
2018-02-27 15:23:50
407
转载 RabbitMQ的安装和配置化可视界面
转载:原文链接:http://www.cnblogs.com/wade-luffy/p/6003668.html RabbitMQ在windows下的安装 RabbitMQ 它依赖于Erlang,在window上安装时,需要先安装Erlang。首先确定你的window电脑是32位还是64位,然后下载对应版本的Erlang软件。以下的安装以window 64位电脑举例。Erlang/OT...
2018-02-26 10:56:08
770
原创 python中字典删除元素
方法一 pop(key[,default])d = {'a':1,'b':2,'c':3}# 删除key值为'a'的元素,并赋值给变量e1e1 = d.pop('a')print(e1)# 如果key不存在,则可以设置返回值e2 = d.pop('m','404')print(e2)# 如果key不存在,不设置返回值就报错e3 = d.pop('m')执行结果如下所示:...
2018-02-24 14:17:34
85590
原创 keystone中test-setup.py
test-setup.py是keystone/tools目录下的一个脚本文件,openstack其它项目可能也有此文件。 利用tox对keystone进行单元测试之前,需要执行test-setup.py(正如脚本一开始的注释所示) openstack社区CI也是这么做的。我们提交代码到gerrit后,会有一项py27检查,py27就是在python2.7环境下进行单元测试。通过查看其执行日志,...
2018-02-12 16:40:15
297
原创 利用tox工具对keystone在py27下进行单元测试,如何让其在非本地数据库执行
keystone的单元测试用例包含部分后端数据库的测试,注意!!!,这是真实的测试,并不是mock测试。 所以需要测试环境本地安装有数据库。如果本地暂时未安装数据库或者数据库的版本太低,那我们其实也可以指定远程的数据库。 指定步骤: ①进入py27的虚拟环境,在oslo.db下找到provision.py文件 通常路径为:.tox/py27/lib/python2.7/site-p...
2018-02-12 15:09:53
402
原创 openstack中tox的使用
什么是virtualenv 所谓 虚拟环境(virtualenv),就是可以在一个主机上,自定义出多套的python环境,多套环境中使用不同的python解析器,环境变量设置,第三方依赖包,执行不同的测试命令,最重要的是各个环境之间互不影响,相互隔离。 最典型的应用场景就是测试在不同python版本下代码的兼容性。我们可以为py2.4,py2.5,py2.6,py2.7,py3.4等不同pyt
2018-02-02 11:33:48
2050
原创 个人收藏
http://wsfdl.com/ https://blog.coderzh.com/about/数据库练习网站: http://www.sqlfiddle.com/云计算: https://www.cnblogs.com/sammyliu/p/4293011.htmlRPC知识: https://blog.youkuaiyun.com/mindfloating/article/detai...
2018-02-02 11:06:42
226
原创 如何在openstack中使用IRC
1、什么是IRC 英文全称是Internet Relay Chat,在开源项目中一般用来进行实时的聊天,毕竟邮件方式具有滞后性。 2、如何使用呢? 通常来说,并不需要复杂的设置,使用Freenode的web客户端即可进行交流。 选择一个昵称(你在聊天室中的名字),输入聊天的频道地址(以#开头),比如#openstack 频道地址可以在这里查看: IRC聊天日志信息 比如keyst
2018-01-31 16:55:22
638
原创 基于centos7.3 安装devstack ocata版本
本文基于自己安装devstack过程进行整理,主要参考了下面这篇文章: http://blog.youkuaiyun.com/scucscheng/article/details/51884613 主要的过程在这篇文章中都有介绍,这里主要罗列一下遇到的问题以及解决的方法: 1、localrc文件的编辑 devstack默认除了安装有keystone、nova、neutron、cinder、gl
2018-01-22 17:57:55
1087
原创 总结与展望
现在是周六中午,外面天气不好,闲来无事,写一写2017年的总结以及2018年的展望。 我这个人表达能力有限,对于写东西十分不擅长,这在工作中十分不利。所以从现在起,我计划每周都要在优快云上更新一篇博文,一是可以锻炼自己的文字表达能力,二是能够加深所学知识点,三是便于以后的回顾。说来也搞笑,今天是2018年的1月20号,今年都已经过去了1/18了。现在开始写2017年的总结,确实有些后知后觉
2018-01-20 21:01:51
2516
转载 解决Pycharm导入模块时提示“Unresolved reference”
解决pycharm导入模块提示“unresolved reference”
2017-12-21 10:59:34
32789
7
原创 查询中文时,mariadb报‘UnicodeEncodeError:'latin-1' codec can't encode character’
chaset&encoding
2017-12-13 11:36:39
517
原创 模糊匹配数据库中的json字段
背景: 有这样一个数据表user,其包含一个字段extra,用于保存用户额外的信息(比如邮箱、电话、描述等) 这些信息是以json格式进行保存,比如{“email”:”wq@163.com”,”phone”:”1234567”,”descrption”:”user info”} 现在需要email进行模糊查询用户信息,如何写sql?解决方法: SELECT * from USER u wh
2017-11-23 13:48:10
8394
原创 手动编译、执行java文件
手动编译、执行java文件编译文件 javac xxx.javajava代码片段如下package mypackage1;public class Test1 { public static void main(String[] args) { System.out.println("hello,world!"); } }1.1 打开cmd控
2017-08-22 20:10:57
3473
原创 Java成员变量初始化顺序
程序摘取自《Java编程思想第四版》class Bowl { Bowl(int marker){ System.out.println("Bowl(" + marker+")"); } void f(int marker){ System.out.println("f)" + marker + ")"); }}class Table
2017-08-16 20:20:10
338
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人