开开专题

开开开开开,干

大家新年快乐,开工啦啦啦啦 其实每天很多人都会问: 有协同过滤的算法吗, 有的,可以给你解释原理… 有的小伙伴只开了一部分逻辑,我要实现用户可以下单功能 但是细细考虑下单,需要现有用户,维护一套用户信息 下单需要商品信息,商品分品类,大小 下单需要用户地址,维护一套地址信息。 其实给你做了商品下单功能,但是你的用户模块,地址模块,权限模块都有了 感谢小伙伴信任,欢迎有事找我

Reentrantlock和其搭档Condition —————— 开开开山怪

Reentrantlock和其搭档Condition 这篇博客具体来说说Condition,但同时也离不开Reentrantlock,因为我们知道对于synchronize来说,是由Object类配合其进行使用,那么对于Reentrantlock来说则采用的Condition和其进行配合,但不同的是对于一个synchronize只拥有一个阻塞队列,就是我们平时new 一个Object对象,采用O

ThreadPoolExecutor线程池 —————— 开开开山怪

ThreadPoolExecutor线程池 说起线程池大家一定都不陌生,其实在很多地方都有应用。 当我们解释为什么使用线程池的时候,我们都会说线程池可以减少线程创建的开销,节省系统的资源。 但其实线程池真正做到我们说的那样,还和我们设置的参数有关。我们都知道在我们使用线程池的时候,开头要搞很多参数。 public ThreadPoolExecutor(int corePoolSize, i

Reentrantlock和背后金主AQS —————— 开开开山怪

1.Reentrantlock那些常用的方法 lock()方法 unlock()方法 lockInterruptibly()方法 2.等待队列图解 说起lock方法,其实lock() 和 unlock()相当于synchronize的左花括号和右花括号,但是当我们用到lock()的时候,需要手动的进行再合适的地方unlock()这样的话才能够释放锁,而synchronize到右花括号

采用JDBC解释java SPI机制和线程上下文类加载器 —————— 开开开山怪

采用JDBC解释JAVA SPI机制和线程上下文类加载器 SPI(Service Provider Interface)网上有关于SPI的解释,在这里我简单总结一下。 SPI机制可以做到将服务接口和真正的服务接口的实现类分开,可以增加程序的可扩展性,通过扫描规定的路径来进行实现类的获取,可以说是一种服务发现机制。 优点: 在面向对象的设计中,我们一般建议基于接口的编程,如果代码中涉及到具体的

HashMap源码解析JDK1.8 —————— 开开开山怪

hashMap源码解析 导航 1.hashMap的数据结构 2.影响hashmap性能因素 key的hash实现loadFactor的设定数组capacity的设定 3.hashmap的主要方法解析 put(K key, V value)get(Object key)resize()remove(Object key)containsKey(Object key) 正题 1.has

javaScript中原型和原型链的分析深究 —————— 开开开山怪

javaScript中原型和原型链的分析深究 建议阅读的时候配合第二幅图来阅读,可能会更清晰 1.原型与原型链的概念 原型: [prototype属性表示类与类之间的父子关系] 原型事实上是每个 函数或类 都拥有的一个 prototype 属性,这个属性事实上是一个指针,指向一个原型对象(原型对象是object,因为是对象,所有拥有__proto__属性),这个原型对象让我来说就是类或函数自

Spring内部原理模拟实现(一)—————— 开开开山怪

Spring模拟实现 引入 知道Spring框架的的人,应该对 IOC(控制反转) 和 DI (依赖注入)都有一定的认识。 IOC :IOC全称为“Inversion of Control”,即控制反转,不是一种技术,而是一种设计思想。在这种设计思想中,你设计好的对象交给容器管理,而不是在应用程序内部对对象进行管理。控制的含义是IOC容器控制了对象(也可以包括文件及其他外部资源);而反转的含

java分发器 及(注解 + 反射机制)—————— 开开开山怪

java分发器 及 (注解 + 反射机制) 引 入: 在C/S框架应用中,当应用层通过点击界面的按钮进行资源的请求的时候,请求的背后代码的实现实际上会自动构成一系列的requst信息请求,由C/S框架内部的communcation层进行消息的发送,服务器通过解析requst请求获取到action(希望服务器端做出的响应)来调用已经配置好的对应的action的方法来进行请求的响应工作,当然这些方

Google中Gson的巧妙使用 —————— 开开开山怪

Gson的使用 这篇相当于是一个分发器中的一个内容补充,但是同时也真正巧妙的使用了Gson这个强大的类。 首先说说这个Gson的类,类中的一个方法 toJson(Object)可以将一个任意类型转化为字符串。 并且还有另一个方法fromJson(String, Type),可以将一个字符串通过给出的类型转化成一个实例。 这对于我们分发器中参数 content 的包装和解析非常实用。 图一

java 包扫描 —————— 开开开山怪

包扫描 1.包扫描过程 包扫描事实上就是通过包名称来扫描到该包下该包下的文件夹下的所有class文件,为我们需要处理的.class文件提前提供一个获取.class文件的一个手段。 只需要提供该包的名称便可以扫描到包下所有的.class文件。而事实上包相当于文件夹。 那我们需要做的就是对提供的包名称进行处理,从而做一个工具可以自动扫描到该包下的所有类。 First : 通过包名称得到URL,