0%

Iterator


定义

提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。

Read more »

CORS


全称

Cross-Origin Resource Sharing

Rest应用

实现

  • 页面的JavaScript和后端的Rest API互动

限制

  • 概念:同源

    • 域名相同
    • 端口相同
    • 协议相同
  • javaScript只可以访问同源的REST API

  • 想要访问不同源的API要通过CORS

  • 在网站允许的情况下,通过CORS才能访问成功

Read more »

Interceptor


Why not Filter

Filter是Servlet提供的组件

Spring创建的Filter是普通的Bean,Servlet并不知道Filter的存在,也无法去调用

Servlet创建的Filter不是Spring的Bean,无法注入

使用Filter需要配置web.xml创建代理类,使用DelegatingFilterProxy

Read more »

Interpreter


定义

给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。

针对特定问题设定的解决方案

Read more »

之前我的spring项目都是直接在Intellij Idea里跑的,今天想把我的程序部署在服务器上,于是就尝试把项目打成War包,放在Tomcat的Webapps底下,然后启动Tomcat服务器运行,运行结果和我在Idea里的结果完全不同,Idea运行是正常的,Tomcat运行时报错,说找不到数据库的驱动

nested exception is java.lang.RuntimeException: Failed to get driver instance for jdbcUrl=jdbc:mysql://localhost:3306/overwatch?serverTimezone=UTC

Read more »

Command


我现在是真没有体会到命令模式的必要性,在我看来,这纯粹是脱裤子放屁多此一举。我也看了许多例子,但我都觉得命令模式是没有必要的,他们说的优势在我看来不要命令模式也可以有这种优势,比如封装性好,那不用Command就不封装了吗?我感觉只是多包了一层而已。

定义

将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。

Read more »

OS Introduction


Computer

Software

  • User Mode

    • User interface program

    • Features

      • A subset instructions are available
      • The instructions that affect control of hardware or IO is forbidden in this mode
  • Kernel Mode

    • OS runs in here, provides the base for all the other software

    • Features

      • Complete Access to Hardware
      • execute any instructions the machine is capable of executing

Hardware

Read more »

Java内存区域与内存溢出异常


概述

C\C++

  • 内存管理区域的土皇帝

Java

  • new操作不需要去写配对的delete代码

  • 不容易内存泄漏和内存溢出

    • 内存泄漏

      Memory Leak
      程序动态申请的堆内存没有释放或者无法释放,后果可能是运行变慢,也可能是程序崩溃。问题具有积累性。

    • 内存溢出

      Out of Memory
      意思是内存不够了,你要加内存条了。
      内存泄漏可能会导致内存溢出。

  • 一旦泄漏或溢出,不懂JVM没办法Debug

Read more »

Filter模式


继承的问题

如果新功能的实现依赖于继承(每个新功能对应一个子类)会出现子类数目过多的情况

栗子

  • 给FileInputStream添加解压、签名、加解密

问题的解决

分类是不可或缺的

  • InputStream

    • FileInputStream
    • ByteArrayInputStream
    • ServletInputStream
    • BufferedInputStream
    • DigestInputStream
    • CipherInputStream

先new基础类,再以基础类为参数new额外功能类,但统筹调度统一用InputStream

Read more »

condition


地位

reentrantlock的partner

类似于synchronized和(wait、notify)的关系

一个lock对应一个condition

new

必须使用对应lock的newCondition方法

Read more »