今天正常醒了,因为昨天起晚了,导致上午很快就过去了,今天决定早点起床,突然有这么长几乎没有人打扰的假期真是太难得了,以至于有时候都不知道该做什么,每到晚上的时候又感慨居然这么快又过了一天。今天提前学习了Java的SSM框架,算是正式开始做项目之前补充学习一下前置的知识。下午冒着大雪出去户外运动了,下雪天有一种别样的美,人也少了很多,自然风光反而更美了。

今日进度:
1.受到最近看的书的启发,勇敢幻想,确定了一个非常远大且具体的目标,并且想出了一条确实可行,只是要付出巨大的努力,克服很大的困难的道路,但是确实是可行的道路。将这个目标作为我的长期目标,每天看着它,一点一点的朝它靠近,就会感到很有成就感,哪怕最终没有实现,也比现在的状况好很多了,至少做到了自我提升。
2.坚持录小王子,坚持练习绕口令和英文短文
3.坚持户外锻炼
4.坚持早睡早起
5.坚持记录进度

学习笔记:
1.依赖注入,是指程序运行过程中,如果需要调用另一个对象协助时,无须在代码中创建被调用者,而是依赖于外部的注入。
2.耦合性(英语:Coupling,dependency,或称耦合力或耦合度)是一种软件度量,是指一程序中,模块及模块之间信息或参数依赖的程度。
3.控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它。也可以说,依赖被注入到对象中。
4.按着Sun公司的定义,JavaBean是一个可重复使用的软件组件。实际上JavaBean是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称bean。由于javabean是基于java语言的,因此javabean不依赖平台,具有以下特点:
1. 可以实现代码的重复利用
2. 易编写、易维护、易使用
3. 可以在任何安装了Java运行环境的平台上的使用,而不需要重新编译。
5.MVC 模式表示模型 - 视图 - 控制器模式。从名称我们可以看到,MVC模式涉及三个部分:
Model(模型)- 模型表示携带数据的对象。它也可以具有逻辑来更新控制器,如果其数据改变。
View(视图)- 视图表示模型包含的数据的可视化。通常它有UI逻辑。
Controller(控制器) - 控制器引用模型和视图。它控制数据流进入模型对象,并在数据更改时更新视图。它保持视图和模型分开。
6.Aspect Oriented Programming(AOP)面向切面编程,是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。OOD/OOP面向名词领域,AOP面向动词领域。
7.Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
8.Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制
9.MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
10.Java 语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java 标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注内容,在运行时可以获取到标注内容 。 当然它也支持自定义 Java 标注。
Java 5.0内置了3种标准注解:
@Override,表示当前的方法定义将覆盖超类中的方法。
@Deprecated,标记被弃用的代码。
@SuppressWarnings,指示编译器去忽略所标注内容产生的警告
11.View层是界面,Model层是业务逻辑和数据,Controller层用来调度View层和Model层,将数据、业务逻辑和用户界面合理的组织在一起,起粘合剂的效果。所以Controller中的内容能少则少,这样才能提供最大的灵活性。
12.最典型的MVC就是jsp+servlet+javabean模式。
JavaBean作为模型(Model),既可以作为数据模型来封装业务数据,又可以作为业务逻辑模型来包含应用的业务操作。其中,数据模型用来存储或传递业务数据,而业务逻辑模型接收到控制器传过来的模型更新请求后,执行特定的业务逻辑处理,然后返回相应的执行结果。
JSP作为表现层(View),负责提供页面为用户展示数据,提供相应的表单(Form)来用于用户的请求,并在适当的时候(点击按钮)向控制器发出请求来请求模型进行更新。
Serlvet作为控制器(Controller),用来接收用户提交的请求,然后获取请求中的数据,将之转换为业务模型需要的数据模型,然后调用业务模型相应的业务方法进行更新,同时根据业务执行结果来选择要返回的视图。
13.Java SSM框架即指Spring+SpringMVC+MyBatis的简称,框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容),常作为数据源较简单的web项目的框架。
14.SpringMVC把传统的模型层被拆分为了业务层(Service)和数据访问层(DAO,Data Access Object)。在业务层中可以通过 Spring 的声明式事务操作数据访问层,而在业务层上还允许我们访问 NoSQL
15.SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作,最终把Model层执行结果返回给用户。SpringMVC相当于SSH框架中struts。
16.MyBatis是对JDBC的封装,它让数据库底层操作变的透明,属于半自动的ORM(对象关系映射)框架。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
17.线程通信就是当多个线程共同操作共享的资源时,互相告知自己的状态以避免资源争夺。
18.多线程以及多进程改善了系统资源的利用率并提高了系统 的处理能力。然而,并发执行也带来了新的问题——死锁。所谓死锁是指多个线程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。
19.线程的挂起是通过Thread类的实例的Suspemd方法实现的,Suspend方法将无限期地挂起当前线程,如再次执行当前线程,就需要将当前的线程唤醒,这就要用到Thread类的实例的Resume方法来实现。

觉得SSM框架还真是很神奇,期待明天正式开始做项目,环境配置应该会花上不少时间。面对未来最好的方式就是塑造未来,要相信自己可以实现自己的目标啊,明天继续更新。

为了转行程序员而努力的第三十九天- Java SSM框架,线程相关推荐

  1. 为了转行程序员而努力的第四十四天-二叉树,MAC系统virtual box无法启动问题

    今天提前醒了,但是因为太冷了,也没起来,挨到上班时间才起床.中午下雪了,冒着大雪去了银行,还算比较顺利,只是额度没有了,购买看好的结构性存款要等明天了.自从开始学习项目类课程以来,深深地体会到了软件开 ...

  2. 为了转行程序员而努力的第四十六天-二叉树,Linux,centOS配置java jdk

    今天又提前醒了,其实昨天睡得挺晚的,但是还是很早就醒了,虽然现状一点点地变好,但还是会经常觉得有一种深深地无力感,坚持理想却不得不在现实的泥潭里挣扎,这个过程确实很艰难,但我相信再难都会过去的,总有一 ...

  3. 为了转行程序员而努力的第四十五天-二叉树,centOS联网,阿里云源配置yum makecache报错

    今天在配置上花的时间太多,主要怕进行到一半,明天就要从头开始,以至于都没有太多时间总结了,锻炼的时间也被挤掉了,争取明天早起来补上.就不多感慨了,直接进入正题. 今日进度: 1.坚持刷题,坚持听网课, ...

  4. php上传,PHP-文件上传和下载「程序员培养之路第三十八天」

    第一节 上传设置 客户端设置 form:method=post.enctype="multipart/form-data" input:type=file 提交 服务端设置 在ph ...

  5. 28 岁裸辞转行程序员,一年的心路历程大曝光

    作者 | 叶茂腾 来源 | 叶茂腾笑咩 本来题目是没有年龄的.只是在网上常看到"已经25岁是否还适合转行当程序员"之类的问题,就觉得有必要暴露下我的年龄. 在过去的2018年,我从 ...

  6. 31岁才转行程序员,现在34了,我来说说我的经历和一些感受吧...

    最近刷某乎,发现有很多朋友有年龄焦虑了,比如:"我今年28了转行来不来得及","我今年30了还能转软件测试吗?"......这种问题在知乎上有很多,仿佛大家都觉 ...

  7. 30岁转行程序员晚了吗?分享30岁转行的经历

    我是85年的,计算机专业普通本科毕业.在一个二线城市,毕业后因为自身能力问题.认知水平问题,再加上运气不好,换过多份工作,每份工作都干不长.导致我30多岁时,还一事无成,也几乎没有积累到什么经验技术. ...

  8. 转行程序员需要做好哪些准备?只有这种人能成功转行ǃ

    " 当年在人生的十字路口,我一直都纠结的问题" " 我害怕我会再一次选择错误" 相信大家看了我的故事或者其他人的故事之后,看到网上的高薪之后,心中都有些蠢蠢欲动 ...

  9. 记一个转行程序员的工作经历与感想(一)

    前言 随着科技的发展,现代人生活的节奏是越来越快,个人觉得程序员的生活节奏更快(个人观点),在忙碌的生活中总是很难找到一点点的空闲时间(就算有,估计也是用来睡眠,不知道为什么总是感觉程序员是一种睡眠不 ...

最新文章

  1. 【Spring】spring基于注解的声明式事务控制
  2. CPU,GPU,Memory调度
  3. struts2 标签中read-only=true 和disabled的区别
  4. java uml 类图 加号_UML建模基础 UML类图的组成元素和关系解析
  5. 教育部:全国高考延期一个月,湖北北京再行决定
  6. java 什么是泛型?
  7. 计算机硬盘清理,电脑磁盘清理,详细教您电脑磁盘怎么清理
  8. 空间谱专题07:干涉仪仿真思路
  9. linux 创建ll,两台linux建立GRE隧道
  10. a标签position为absolute时,IE无法点击(a position:absolute bug ie)
  11. 区块链 2.0:下一个计算范式
  12. linux--rbtree 解惑 insert
  13. 排列(permutation)的末尾 0 的个数
  14. Java常见面试题:对象的访问定位的两种方式
  15. python的matplotlib画图时独立窗口_解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题...
  16. 2021年11款最佳的开源 Kubernetes 工具
  17. JavaCV的摄像头实战之五:推流
  18. [国家集训队]middle——中位数思维题
  19. jadx在windows下的安装
  20. 手机投屏电视html,oppor17手机投屏电视的详细操作步骤

热门文章

  1. linux 打开防火墙和关闭防火墙
  2. mysql查找多个姓氏_同时搜索2个字段以从MySQL的表中获取特定的名字和姓氏
  3. java笔试题(1)基础知识
  4. php aes padding,PHP中的AES算法
  5. C#实现 AES算法加密
  6. change和input事件区别
  7. 抖音短视频拍摄运营分镜头脚本文案策划工作计划表
  8. ROS ubuntu18.04 工控机安装(轮趣科技 )验证通过
  9. var,let,const 声明中一般人不知道的几个点
  10. 【回归预测-DELM】基于多元宇宙优化算法改进深度学习极限学习机实现数据回归预测附matlab代码