自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (2)
  • 收藏
  • 关注

原创 隐私计算-隐私求交(修改中)

隐私求交可以大致理解为双方想知道互相都存在的数据有哪些,但是又不想将自己的全部信息暴露给对方。比如银行机构需要知道哪些滴滴司机在银行开过电子二类户,不管什么渠道开过都算。那么滴滴理财侧不可能将所有滴滴司机的手机号都发送给银行机构去对比,也不能银行将所有开过电子二类户的用户信息发送给滴滴理财侧对比,那么有什么方式能让银行侧和滴滴理财侧知道哪些滴滴司机在银行开过电子二类户么,但是银行侧又不能知道没开过电子二类户的司机信息,滴滴理财侧也不能知道银行侧不是滴滴司机的用户信息?上述的问题,可以使用隐私求交的方

2023-02-14 12:02:42 625 4

原创 算法思想(动态规划)

一、穷举法思想在有限条件里,将所有符合条件的元素一一带入问题进行检验,从而得到检验通过的精确解。举例一、输出一个字符串里最长回文子串长度思路:根据定义,根据条件(输入的字符串子串)带入问题一一检验,并且得到检验通过(最长的回文子串)的精确解。拆解思路分析:1、假设输入字符串:abcdcbc2、检验所有子串2.1、由字符a作为子串首字母遍历出所有的子串,并对每一个子串进行校验,判断是否为回文字符串。由此可以判断第一轮循环时间复杂度是O(n*m).注:m设为回文子串的检验时.

2021-11-11 21:28:11 503

原创 高性能mysql--高性能的索引策略(中)

寻找合适的索引序列顺序这个索引顺序的问题是适用于B-tree索引中的当不需要进行排序和分组时,将选择性最高的列放在前面通常是很好的。这时候索引的作用只是用于优化where条件的查找。需要根据那些运行频率最高的查询来调整索引列的顺序,让这种情况下索引的选择性最高。比如说语句select * from payment where staff_id = 2 and customer_id =...

2019-03-13 16:54:22 207

原创 高性能mysql--高性能的索引策略(上)

独立的列作为索引最简单的就是使用独立的列作为索引了,主键,外键,唯一值的属性都是默认的索引。没有使用索引的情况以university列为索引很明显,对所需要查的单独的列明显加快了查询时间。但是独立的列作为索引使用不好也是有问题的。比如我在表中的year字段上加上索引SELECT * FROM student WHERE YEAR = 2018。查询的分析结...

2019-03-12 13:40:37 189

原创 高性能mysql--了解索引

索引的类型1.B-Tree索引该索引底层的数据结构是B-Tree。B-树可以加快数据的访问速度,因为存储引擎不再需要进行全表扫描来获取需要的数据,取而代之的是从索引的根节点开始搜索。其实在根节点和叶子节点之间可能有更多层节点也,树的深度与表的大小直接相关。B-Tree对索引列是顺序组织存储的,所以更适合查找范围数据。B-Tree可以进行全值匹配,最左前缀,匹配前缀列,匹配范围值,精...

2019-03-11 16:44:38 119

原创 高并发学习养成计划5

在线程中执行任务围绕着任务执行来设计程序结构时,第一步就是要找出清晰的任务边界。在理想状态下各个任务之间是相互独立的;任务并不依赖余其他任务的状态、结果或边界效应。独立性有助于实现并发因为如果存在足够多的处理资源,那么这些任务都可以并行执行(个人理解:每个任务相互独立,没有影响。在处理资源足够多的情况下,能做到真正的并行执行。如果没有独立,可能某个线程执行到某一地方后再向下执行要等待其他线程的...

2018-12-24 14:14:52 196

原创 高并发学习养成计划4

构建高效且可伸缩的结果缓存简单的缓存可能将性能瓶颈转变为可伸缩性瓶颈,即使缓存适用于提升单线程的性能 使用HashMap和同步机制来缓存初始化数据 Memoizer1是使用synchronized和HashMap构建的缓存,虽然将计算结果是保存在了map中,但是由于将所有线程给串行化了,所以并发量极差,程序的伸缩性及其不友好。甚至可能在某些情况下还不如不加缓存的性能高。所以...

2018-12-20 12:57:23 216

原创 高并发学习养成计划3

阻塞队列和生产者-消费者模式该模式是将“找出需要完成的工作”与“执行工作”两个过程分离开来,并把工作放到“待完成”列表以便在随后处理,而不是找出后立即处理。生产者消费者模式能简化开发过程,因为它消除了生产者类和消费者类之间的代码依赖性,此外,该模式还将生产数据的过程与使用数据的过程解耦开来以简化工作负载的管理,因为这两个过程在处理数据的速率上有所不同。在某些情况下,需要调整生产者线程数量和消费...

2018-12-19 23:50:43 234

原创 Master-Worker模式

定义     Master-worker是并行模式之一。它的核心思想是,系统两类进程协作工作:Master进程和Worker进程。Master进程负责接收和分配任务,Worker进程负责处理子任务。当各个Worker进程将子任务处理完后,将结果返回给Master进程,由Master进程做归纳和汇总,从而得到子系统的最终结果。其处理过程如图一所示             ...

2018-12-19 21:07:28 622

原创 高并发学习养成计划2

同步容器类同步容器类的问题对于已经实现同步的容器类来说,这个类本身是安全的,然而在使用同步类的多个操作来进行一个混合操作,那么这个混合操作就会变得不安全了。所以要进行额外的加锁使其复合操作安全 迭代器与ConcurrentModificationException对容器类的标准迭代方式都是使用迭代器,迭代器采用的是一种“及时失败”的策略,这便意味着当容器在迭代过程中被修改,那么...

2018-12-19 00:42:56 419

原创 高并发学习养成计划1

  使用实例封闭的方式实现线程安全 将数据封装在对象的内部,可以将数据的访问限制在对象的方法上,从而更容易确保线程在访问数据时总能持有正确的值(我的理解是将数据封闭在对象或者某个线程的内部,不发布出去,使得其他线程不能够对该数据直接进行访问,从而保证数据对外部的安全性。封闭数据的另一个好处,在安全性出现问题时,也不需要去检查整个程序,只需要检查单个类就行了)。 简单的封闭例...

2018-12-17 23:31:01 407

原创 Future模式

定义    Future模式有点类似商品订单。比如说在网上进行购物,当你买了一件物品时,你就只需要在家里等待商品或者在此之间做其他的事情。将此类型推到程序中,当某一段程序提交了一个请求,期望得到一个答复。但非常不幸的是,服务程序的处理可能很慢。在传统单线程的环境下,调用函数是同步的,也就是说必须等到服务程序处理完后才能进行其他的操作。而在Future模式下,调用方式改为异步,而原先等待返回的时间段...

2018-06-17 16:00:02 487

原创 单例设计模式

单例设计模式 使用单例模式的好处: (1)对于频繁使用的对象,可以减轻不停的创建对象所花费的时间。(2)由于new的次数减少,从而降低了系统内存的使用频率,同时也减轻了GC的压力,缩短了GC的停顿时间。  单例模式的不同写法饿汉式public class Singleton{ private static Singleton instance=new S...

2018-01-26 17:02:50 463

rip协议 java实现

在计算机网络实验课程结束后,老师要求熟悉rip协议的一些简单规则,并用代码实现

2018-06-20

linux系统管理

最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。

2018-01-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除