听课笔记

nroad听课笔记

听课当时觉得收获很大,过段时间就忘记了,所以决定记录笔记,以后自己用到了还可以翻一翻。

N01.spring boot

spring boot 快速启动spring web程序

  1. pom.xml配置文件中很多微服务配置启动和引入

  2. jconsole检测健康状态

  3. 调试过程中可以打开spring内置的Log日志,可以打开trace级别的日志。

  4. 一般用spring 自带的json转换器,fastjson,ObjectMapper

No2.java8

java的发展

  • 1.4引入了断言Assert

  • 1.5

    1. 引入了泛型(初、中级会读,高级会写和用)

    2. 实现了可迭代Enhanced for loop

    3. 类型安全Typesafe

    4. Annotations(Metadata)描述数据的数据

    5. 自动装配(Integer)

  • 1.6没有新特性,只是进行了优化

  • 1.7

    1. swich(String)可以判断,List =new ArrayList<>()后面的<>中的String可以省略。

    2. catch(A|B|C)同时可以捕获多个异常

    3. 数字中可以带下划线eg:10_000是一万。

    4. Link

    5. finall内不需要写了

  • 1.8

    1. 引入了Lamdar表达式

    2. 方法引入this::menthodName()

    3. @FunctionInterface一个方法的接口可以用表达式简化

    4. 流式表达

    stream的效率:

    • 懒加载的

    • 并行执行的【多线程】

    • Fock(分)|Join(合)模式

java8 workstealingTheadPool模式,监控偷拿别的闲线程,线程池中的线程启动多少合适,需要调优。

  1. String.join()方法

  2. StringJoiner j=new Stringjoiner(“,”)

    j.add(a).add(a)…

jar.function,java.util.connount 数字,日期 collection

阻塞队列——》生产者消费者模式

hashSet<安全> | hashMap<不安全>

java4\5\6\7之前要吃透,8之后的慢慢消化

No3.业务学习

  1. 可以陷入业务的场景中锻炼思维能力

  2. 编程惯例

  3. 设计——代码实现的时候不能单单是为了写代码,要思考设计

  4. UML、ER图——领域模型

  5. 文档格式ietf、注意样式,不能有0|1的变量判断,难懂。

No4.前端学习

bootstrap

API网址

1、v3.bootcss.com

2、www.runoob.com

扩展属性 date_Myname=”123”

$(#id.date.Myname)就得到了“123”的值

栅格(12)

  • bootstrap

  • 样式(css)

  • 组件(静态)

  • 插件(动态)

jquery:

xhr-new xhr:

  • url

  • method.post-调用

  • parpm。。。

  • 只要支持xhr的浏览器就支n持jquery

1、AnqularJs(类似jqueryjs)

大量脚本处理控制业务逻辑,并与服务端交互时适合

2、服务器和前台共享一份脚本,服务器下发的代码

No5.策略模式

策略模式和状态模式很像,策略模式的应用场景:当方法不变,但传入的参数不一致时用。

-------        ------

|A 压缩|------>|抽象类|

-------        ------  

              /   |    \

             /    |     \

       -----/   -----    \ ----- 

       |ZIP|    |RAR|      |...|

       -----    -----      -----

No6.系统分析设计

一. 为什么要分析设计

  • 优化DB

  • 优化cache

  • 减少资源竞争

  • 变化

  • 性能

  • 新技术

二. 分析设计的方法

业务领域模型——可复用,可维护,可扩展。拟出规则(可变的,不变的)

三. 设计原则

  • 分离可变和不变的规则

不变的放在一个类中,变化的分离出去进行封装——接口或者抽象类,将变化的转化为不变的形式。

  • 面向接口编程

  • 多用组合少用继承

  • 开闭原则

  • 暴露最少的信息给对象,尽量隐藏自身信息

  • 依赖IOC

依赖接口,根据动态值来注入生成实现。

方式:

Constractor 构造函数 ——静态绑定

parameter 参数 ——动态绑定

>

Set 动态改变注入值 ——运行态绑定

>

spring 中Set方式是没必要的,有参数方式就足够了。

  • 单一责任原则——内聚性强

  • 聚合与组合——生命周期不一致

  • MVC

                C   委托
    
                ^^                
    
               //\\ ..........有问题
    
              //  \\
    
             //    \\
    
             v      v      
    
           V<=========>M
    

四、PS:

AMQP————高级消息队列

PostDB————对象型数据库

MDA————模型驱动分析

DDD————领域驱动分析

  • 值对象————创建不费消耗,equals and hash 比较

  • 实体对象————创建消耗大,有id

No7.什么时候用设计模式

读过设计模式,对很多模式都知道,但是用不上,所以感觉设计模式没用。所以我们要努力寻找用设计模式的时机,主动用设计模式。ps:不一定越高级的开发人员越会用设计模式。

  • 业务复杂的时候考虑用设计模式

  • if…else 多的时候考虑设计模式

  • switch 多的时候考虑设计模式

  • 重复代码多的时候考虑设计模式

遇到难题时考虑设计模式:

  • 首先找毛病

  • 描述清楚毛病

  • 考虑是否可用设计模式

PS:java.lang.Iterable 实现了for(:)

No8.安全防护

windows 提供了很多可调用的接口API,但很多病毒和破解工具会hook掉我们的代码,绕过我们代码执行顺序,所以我们要自己分析自己的程序有没有被修改过。

加壳:

  • 第一代壳————压缩壳

  • 第二代壳————加密壳

  • 第三代壳————VIM虚拟机壳

杀毒软件

其实国内360的优势就是基数大,所以它的云查杀能力很强。

  1. 云查杀

  2. 特征码查杀

  3. 行为分析

PS:火龙,防火墙很好,毛豆也差不多。手机防护360。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值