Flutter基础学习笔记
Flutter基础学习 目录结构 android:用于android软件的相关 ios:用于ios相关 lib:Flutter代码存放地 test:测试用例代码存放地 Dart以main函数为入口,软件以runApp实体类为软件绘制入口。 123456789import 'package:flutter/material.dart';void main(){ runApp( Center( child: Text('XXX'), ) );} 可以单独将Center抽离成一个组件: 1234567891011121314151617181920212223242526import 'package:flutter/material.dart';void main(){ runApp(MyApp());}class MyApp extends StatelessWidget{ @override Widget build(BuildContext context){ ...
Docker学习
第一章 Docker概述 1.1虚拟化技术发展史 在虚拟化技术出现之前,如果我们想搭建一台服务器,我们需要做如下的工作: 购买一台硬件服务器; 在硬件服务器上安装配置操作系统; 在操作系统之上配置应用运行环境; 部署并运行应用; 这种方式的缺点就是: 部署应用非常慢; 需要花费的成本非常高(时间成本、服务器成本); 应用迁移麻烦;要将应用迁移,又得重复部署应用的过程:购买服务器->安装操作系统os->配置运行环境->部署应用 所以,为了解决这个问题,后续出现 了虚拟化技术。 1.2 虚拟化技术是什么? 虚拟化(英文:Virtualization)是一种计算机资源管理技术,是将计算机的各种硬件资源,比如服务器、网络、CPU、内存及存储等,予以抽象和转换后呈现出一套新的硬件资源环境,在这一套新的硬件环境下可以安装我们的操作系统,部署我们的应用运行环境等,它打破计算机硬件资源不可切割的障碍,使我们可以比原本的计算机硬件资源结构更好的方式来组合应用这些资源。 1.3 ...
JDBC学习笔记
JDBC学习笔记 1.JDBC是什么? Java DataBase Connectivity(Java语言连接数据库) 2.JDBC的本质是什么? JDBC是SUN公司制定的一套接口(interface) java.sql.*;(这个软件包下有很多接口) 接口都有调用者和实现者。 面向接口调用、面向接口写实现类,这都属于面向接口编程。 为什么要面向接口编程? 解耦合:降低程序的耦合度,提高程序的扩展能力。 多态机制就是非常典型的:面向抽象编程。(不要面向具体编程) 建议: 12345678910Animal a = new Cat();Animal a = new Dog();//喂养的方法public void feed(Animal a){//面向父类幸型编程。 }//不建议:Dog d = new Dog();Cat c = new Cat(); 思考:为什么SUN制定一套JDBC接口呢? 因为每一个数据库的底层实现原理都不一样。 Oracle数据库有自己的原理。 MySQL数据库也有自己的原理。 MS...
Java之Servlet学习
Java之Servlet学习 流程图: 一、Servlet规范介绍: 1.servlet规范来自于JAVAEE规范中的一种 2.作用: 在servlet规范中,指定【动态资源文件】开发步骤 在servlet规范中,指定Http服务器调用动态资源文件规则 在servlet规范中,指定Http服务器管理动态资源文件实例对象规则 注:第一个是给人看的,后两个是给Http服务器看的 二、Servlet接口实现类: 1.Servlet接口来自于Servlet规范下一个接口,这个接口存在Http服务器提供Jar包 2.Tomcat服务器下lib文件夹中有一个servlet-api.jar存放Servlet接口(javax.servlet.Servlet) 3.Servlet规范中任务,Http服务器能调用的【动态资源文件】必须是一个Servlet接口实现类 列子: 12345678class Student{ //不是动态资源文件,Tomcat无权调用}class Teacher implements Servlet{ ...
SpringMVC简介
SpringMVC简介 1.SpringMVC概述 SpringMVC是一种基于Java的实现MVC设计模型的请求驱动类型的轻量级Web框架,属于SpringFrameWork的后续产品,已经融合在Spring Web...
Java之Spring框架学习笔记
Java之Spring框架学习笔记 一、介绍: 1.1.Spring是什么 Spring是分层的JavaSE/EE应用full-stack轻量级开源框架,以IOC(Inverse Of Control:反转控制)和AOP(Aspect Oriented...
Java分层思想
Java分层思想 结构图: 从最常规的分层结构来说,系统层次从上到下依次为: 表现层/UI层/界面层:主要是客户端的现实。 服务层/业务层:直接为客户端提供的服务或功能。也是系统所能对外提供的功能。 领域层:系统内的领域活动。 DAO层:数据访问对象,通过领域实体对象来操作数据库。 其中有些知道原则(精华): 1、上层总是依赖其下层,依赖关系不跨层。 2、表现层除外,同一层之间方法不允许相互调用。这是实际开发中一些开发者容易范的错误!如果真是同一层之间存在方法调用,需要注意,这些调用都是一些上层不可见方法,比如一些工具方法等。 3、一切从服务层出发,从系统需要提供的功能进行分析,确定Service接口中的方法。而不是从数据库的表出发,创建DAO,再创Domain,然后Service,这实际上是对系统分层的误解。 4、系统最核心的设计就是将系统中的实体划分为领域模型。在此基础上设计数据的DAO层,并将这些活动暴露给服务层,服务层的实现依赖于领域活动。 5、每个接口的职责范围明确有界。 service是业务层 action层即作为控制器 DAO (Data Access...
Java并发编程
Java并发编程 1、java-JUC快速入门 1.1、JUC是什么? JUC是java.util.concurrent包的简称,在Java5.0天加,目的就是为了更好的支持高并发任务。让开发者进行多线程编程时减少竞争条件和死锁的问题! 1.2、进程与线程的区别: 进程:一个运行中的程序的集合;一个进程往往可以包含多个线程,至少包含一个线程 Java默认有几个线程? 答案为两个,一个main线程,一个gc线程 线程:线程(thread)是操作系统能够进行运算调度的最小单位。 1.3、并发与并行的区别: 并发(多线程操作同一个资源,交替执行) CPU一核,模拟出来多条线程,天下武功,唯快不破,快速交替。 并行(多个人一起行走,同时进行) CPU多核,多个线程同时进行;使用线程池操作 1.4、线程有六种状态: 1234567891011121314public enum State { //新生 NEW, //运行 RUNNABLE, //堵塞 BLOCKED, //等待 WAITING, //超时等待 ...
Java注解编程及AOP编程
Java注解编程及AOP编程 Java注解(Annotation)又称Java标注,是JDK5.0引入的一种注释机制。 Java语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java 标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注内容,在运行时可以获取到标注内容 。 当然它也支持自定义 Java 标注。 网上很多关于 Java Annotation 的文章,看得人眼花缭乱。Java Annotation 本来很简单的,结果说的人没说清楚;弄的看的人更加迷糊。 我按照自己的思路,对 Annotation 进行了整理。理解 Annotation 的关键,是理解 Annotation 的语法和用法,对这些内容,我都进行了详细说明;理解 Annotation 的语法和用法之后,再看 Annotation 的框架图,可能有更深刻体会。废话就说这么多,下面开始对 Annotation...
MyBatis框架学习
MyBatis框架学习 1.常用的框架SSM: Spring:它是整合其它框架的框架,它的核心是IOC和AOP,它由20多个模块组成,在很多领域都提供了很好的解决方案,是一个大佬级别的存在。 SpringMVC:它是Spring家族的一员,专门用来优化控制器(Servlet)的。提供了极简单数据提交,数据携带,页面跳转等功能。 MyBatista:是持久层的一个框架,用来进行数据库访问的优化,专注于SQL语句,极大的简化了JDBC的访问。 2.什么是框架 它是一个半成品软件,将所有的公共的,重复的功能解决掉,帮助程序员快速高效的进行开发,它是可复用,可扩展的。 3.什么是MyBatis框架 MyBatis本是apache的一个开源框架iBatis,2010年这个项目由apache software foundation迁移到了Google code , 并且改名为MyBatis。2013年11月迁移到Github,最新版本是MyBatis...