编程范式
文章平均质量分 72
编程范式,设计模式,以及各编程语言的技巧
一的三次方
这个作者很懒,什么都没留下…
展开
-
MYSQL | 求各个部门里薪水最高的员工(可能有多个员工)
题目有两张表Employee和Department,要求如题employee±—±------±-------±-------------+| Id | Name | Salary | DepartmentId |±—±------±-------±-------------+| 1 | Joe | 70000 | 1 || 2 | Jim ...原创 2020-02-16 12:26:55 · 1090 阅读 · 0 评论 -
mysql | 求某列第二大的值
题目求某一列第二大的值如果没有第二大的值,返回NULL方法1.使用MAX关键字进行两次排序,第一次选出max后,再从剩下的进行排序选出第二大的SELECT MAX(Salary) AS SecondHighestSalary FROM Employee WHERE Salary NOT IN (SELECT MAX(Salary) FROM Employee);方法2. 子查...原创 2020-02-16 11:22:38 · 1735 阅读 · 0 评论 -
C++的函数模板
1,基本知识先了解下C++的引用作为函数返回值的情况;引用作为函数返回值,不产生值的副本,提高效率。2,初识函数模板#undef __STRICT_ANSI__#includeusing namespace std;templateT const& max_element(const T* var,size_t size){//引用作为函数返回值 T co原创 2015-06-25 14:46:42 · 336 阅读 · 0 评论 -
设计模式|装饰器模式
策略模式和观察者模式都属于Behavioral Patterns装饰器模式属于Structural Patterns设计目的动态扩展某个对象的功能,不改变原对象结构别名wrapper装饰器对于客户端透明,客户端无法区分对象是否被装饰。举例public interface Troll { void attack(); int getAttackPower(); void ...转载 2018-12-09 21:55:18 · 221 阅读 · 0 评论 -
设计模式 | 观察者模式
OO原则封装变化多用组合,少用继承针对接口编程,不针对实现编程为对象之间的松耦合设计努力观察者模式对象之间定义一对多的依赖,当一个subject对象改变状态时,依赖它的对象会收到通知,并自动更新应用:JavaBeans / RMI / GUI实现:java.util.Observable的问题在于 subject不是接口,而是抽象类细节:push/pull两种方式,push...原创 2018-12-01 11:34:59 · 244 阅读 · 0 评论 -
设计模式| 策略模式
OO设计原则封装变化针对接口编程,而不是针对实现编程多用组合,少用继承《head first 设计模式》思路初始需求:设计日志SDK,支持多种打印方式:文件日志/标准输出打印/socket日志(想象有几十个子类),设置多种日志格式4. 继承,抽象Super Class定义日志超类(superclass),因为每种appender打印方式不同,print() 方法是抽象的。需...原创 2018-11-25 20:52:54 · 100 阅读 · 0 评论 -
java中如何设计一个简单的连接池
经典的等待/通知机制消费者获取对象的原创 2019-04-01 08:51:19 · 410 阅读 · 0 评论 -
mockito的最佳实践
1.如何mock发送请求给controllerGET @Test public void testMonitor() throws Exception { String url = "/monitor/alive"; String jsonStr = mockMvc.perform(get(url)).andExpect(status().isOk...原创 2019-03-23 07:17:30 · 935 阅读 · 0 评论 -
认识mock
背景如果写单元测试,mock必不可少;Mock是解决单元测试UT里依赖问题的重要手段;其实mock是个很简单的概念,不要害怕。代码有依赖(not self contained)单元测试目的是只测试某个模块,不需要测试他的依赖;但是实际工作中,肯定存在依赖的问题,controller和service,dao都是有依赖的。如果我们只单元测试controller,但是不希望同时测试servic...翻译 2019-03-15 22:31:02 · 138 阅读 · 0 评论 -
Java并发编程 | java 内存模型FAQ - 同步的含义
4 没有正确同步的含义A线程写一个变量,B线程读一个变量,但是读和写的发生顺序没有唯一确定。如果产生这种问题的代码,这个变量就会发生数据竞争(data race)。5 同步会做什么呢?有序性:最容易的理解就是互斥的作用 - 一次只有一个线程能占有monitor,其他线程无法进入被这个monitor同步的代码块。可见性:同步保证之前和同步代码中的数据,可以被其他线程看见;A线程释放m...翻译 2019-03-03 23:08:57 · 82 阅读 · 0 评论 -
Java并发编程 | java 内存模型FAQ - 背景介绍
http://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html#reordering1.背景:内存模型是啥?背景:处理器和内存的速度差异较大,为了提高程序性能,处理器和内存之间加了多层缓存;问题:但是,多处理器系统中,由于每个处理器之间的缓存不是共享的,这就会有数据一致性问题;也就是多线程的可见性问题。解法:内存屏障(memor...翻译 2019-03-03 22:35:44 · 124 阅读 · 0 评论 -
java多线程编程 | producer - consumer问题 中
关键:生产者不会在缓冲区满时加入数据,消费者不会在缓冲区空时消费数据生产者持续生产,直到buffer满,满时阻塞;buffer不满后,继续生产消费者持续消费,直到buffer空,空时阻塞;buffer不空后,继续消费方法1: BlockingQueue实现class Producer implements Runnable { private BlockingQueue<...原创 2019-02-24 19:33:14 · 282 阅读 · 0 评论 -
java多线程编程 | 生产者消费者问题:Producer-Consumer 上
https://en.wikipedia.org/wiki/Producer–consumer_problem有问题的实现java如何创建线程java线程的状态:New/Runnable/Blocked/Waiting/Time Waiting/Terminatedjava如何唤醒线程public class Buffer {private static Queue q = ...原创 2018-12-16 22:01:17 · 580 阅读 · 0 评论 -
编程语言| java 接口简介
Interface(Java)background and design goalunlike C++, java doesn’t support multi-inheritance because of its complexity and inefficiency (???)all classes in java must have one base class(except for ...原创 2018-12-09 23:10:06 · 352 阅读 · 0 评论