第三十天:Mysql
“真正的危险不是计算机开始像人一样思考,而是人开始像计算机一样思考。”
【狂神说Java】MySQL最新教程通俗易懂
初识Mysql
JavaEE:企业级Java开发,Web
前端:页面展示;后台:数据库,链接前端,控制视图跳转,前端传数据
数据库:存数据
为什么要学数据库
趋势,岗位需求
得数据库者得天下
被迫需求
数据库时所有软件体系中最核心的存在 DBA
什么是数据库
数据库(DB,DataBase)
概念:数据仓库,软件,安装在操作系统之上
作用:储存数据,管理数据
数据库分类
关系型数据库:(行、列)(SQL)
MySQL,Oracle,DB2,SQLite
通过表和表之间,行和列之间的关系进行数据的存储
非关系型数据库:(对象)(NoSQL)
redis、MongoDB
不是以行和列进行存储,而是以对象进行存储,根据对象的自身属性来决定。
DBMS:数据库管理系统
数据库的管理软件,科学有效的管理我们的数据。维护和获取数据
MySQL:数据库管理系统
MySQL简介
MySQL是一个 ...
第二十九天:JUC并发编程
“计算机是为了解决以前不存在的问题而诞生的。”
【狂神说Java】JUC并发编程最新版通俗易懂_哔哩哔哩_bilibili
线程和进程
进程可以理解为一个程序。程序的依次执行过程
一个进程往往可以包括多个线程
Java默认有几个线程?2个,main线程和gc线程
**Java真的可以开线程吗?**不行,只能通过本地方法去调用C++
123456789101112131415161718192021222324252627282930313233public synchronized void start() { /** * This method is not invoked for the main method thread or "system" * group threads created/set up by the VM. Any new functionality added * to this method in the future may h ...
第二十八天:注解与反射
那些用手做就很快了的事情,就不要用计算机去做了。
[【狂神说Java】注解和反射
学习内容
注解Annotation
什么是注解
注解是从JDK5.0开始引入的技术
Annotation的作用
不是程序本身,可以对程序做出解释(这一点和注释Comment没什么区别)
可以被其他程序,如编译器等 读取
Annotation的格式
注解是以“@注释名”在代码中存在的,还可以添加一些参数值,例如,@SuppressWarning(value=“locked”)
Annotation在哪里使用
可以附加在package,class,method,field等上面。相当于给他们添加了额外的辅助信息。
我们可以通过反射机制编程实现对这些元数据的访问
内置注解
@Override
定义在 java.lang.Override 中。
此注释只适用于修辞方法,表示一个方法声明打算重写超类中的另一个方法声明
@Deprecated
定义在 java.lang.Deprecated 中。
此注释可以用于修辞方法,属性,类。表示 ...
第二十七天:网络编程
计算机科学就是有关计算机的,正如天文学就是有关望远镜的。
【狂神说Java】网络编程详解_哔哩哔哩_bilibili
学习内容
计算机网络
计算机网络是指将地理位置不同的具有独立功能的多台让过及其外部设备 , 通过通信线路连接起来在网络操作系统, 网络管理软件及网络通信协议的管理和协调下 , 实现源共皇和信息传递的计算机系统 。
如何定位
如何精确定位到网络上的一台主机:192.168.16.124。端口:定位到这个计算机上的某个资源
找到了这个主机,如何传输数据?
JavaWeb开发:网页编程 B/S
网络编程:TCP/IP C/S
网络通信的要素
如何实现网络的通信?
通信双方的地址
IP
端口号
规则:网络通信的协议
http,ftp,https,tcp等
TCP/IP参考模型
IP地址InetAddress
唯一定位一台网络上计算机
127.0.0.1 也叫本机localhost
IP地址的分类:
IPV4/IPV6,区别是字节长度
公网/私网
域名:记忆IP问题
类:Class In ...
第二十六天:多线程
计算机科学就是有关计算机的,正如天文学就是有关望远镜的。
【狂神说Java】多线程详解_哔哩哔哩_bilibili
学习内容
线程简介
多任务
很多看起来同时在进行的事情,比如一边看电视一边玩手机,其实是两件事情切换的快
进程、线程、多线程
一个进程可以有多个线程,如视频中同时听到声音、看到图像
程序
进程
线程
指令和数据的有序集合,本身没有任何运行的含义,是一个静态的概念
执行程序的一次执行过程,动态的概念,是系统资源分配的单位
一个进程中可以包含若干个线程,一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度和执行的单位
注意:很多线程是模拟出来的,真正的多线程是指有多个CPU,即多核,如服务器。如果模拟出来的多线程,即在一个CPU的情况下,在同一个时间点,CPU只能执行一个代码,因为切换的很快,所以有同时执行的错觉
核心概念
线程就是独立的执行路径
在程序运行时,及时没有自己创建线程,后台也会有多个线程,如主线程,gc线程
main()称之为主线程,为系统的入口,用于执行整个程序
在一个进程中,如果开 ...
第二十五天:IO流
生活本就沉闷,但跑起来有风
狂神未更新,转动力节点(bilibili.com)
学习内容
IO流的概述
用于读写文件中的数据(可以读写文件,或网络中的数据)
I: input
O: output
IO流的分类
按照流向(以内存作为参照):
输出流:程序->文件
输入流:文件->程序
按照操作类型(数据读写方式):
字节流:可以操作所有类型的文件(这种流一次读写一个字节byte,等同于一次读写8个二进制。可以读写文本、图片、声音、视频等文件)
字符流:只能操作纯文本文件(这种流按照字节读取数据,一次读写一个字符,这种流是为了操作文本文件存在的)
IO流的体系结构
IO流类的命名规则
注意:只要类名以Stream结尾的都是字节流,以”Read/Write“结尾的都是字符流
四大家族的首领都是抽象类(java.io.InputStream,java.io.Output,java.io.Reader,java.io.Write)
所有流都实现了java.io.Closeable接口,都是可关闭的,都有clos ...
第二十四天:HashSet、TreeSet、自平衡二叉树
知识最大的敌人不是无知,而是错觉。
狂神未更新,转动力节点(bilibili.com)
学习内容
HashSet集合
特点:无序,不可重复
12345678910111213141516171819202122232425262728293031package com.joker_yue.javalearn.DataStruct;import java.util.HashSet;import java.util.Set;public class HashSetTest { public static void main(String[] args) { Set<String> str = new HashSet<>(); //添加元素 str.add("hello3"); str.add("hello4"); str.add("hello1"); ...
第二十三天:泛型、自动推断机制、自定义泛型
“基础决定你未来的高度”
狂神未更新,转动力节点(bilibili.com)
学习内容
泛型(相当于C++模板类,可以参照学习)
不使用泛型之前(Java5),分析程序存在缺点
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253package com.joker_yue.javalearn.DataStruct;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class GenericTest { public static void main(String[] args) {// 不使用泛型之前,分析程序存在缺点 List myList = new ArrayList();// 准备对象 Cat c ...
第二十二天:集合
“简单之至则为雅致。”
狂神未更新,转动力节点(bilibili.com)
学习内容
什么是集合,有什么用?
数组其实就是一个集合,集合实际上就是一个容器。可以用来容纳其他类型的数据
集合在实际开发中使用较多
集合是一个容器,是一个载体,可以一次承载多个对象。在实际开发中,假设连接数据库,数据库中有10条记录,那么假设把这10条记录查询出来,在java程序中会将10条数据封装成10个java对象,然后10个Java对象放到某一个集合当中,将集合传到前端,然后遍历集合,将一个数据一个数据展现出来
集合中储存什么
集合不能直接储存基本数据类型,另外集合也不能直接存储Java对象,集合当中存储的都是Java对象的内存地址(或者说集合中存储的是引用)
不过有这样一条代码
1list.add(100);
看上去是存了一个int类型数据,实际上因为Java的自动装箱,会将100自动转换成Integer对象然后储存其引用
注意:集合在Java中本身是一个容器,是一个对象。集合任何时候存储的都是引用
在Java中每一个不同的集合,底层会对应不同的数据结构。往不同的集合中存储 ...
第十八天:品优购项目
标准总是过时的,这让它们成为了标准。
学习目标
能够独立自主完成品优购首页制作
能够独立自主完成品优购列表页制作
能够独立自主完成品优购注册页制作
能够把品优购网站部署上线
网站制作流程
品优购项目规划
项目整体介绍
项目名称:品优购
项目描述:品优购是一个电商网页,我们要完成PC端首页、列表页、注册页的制作
学习目的
电商类网站比较综合,里面需要大量的布局技术,包括布局方式、常见效果以及周边技术
品优购项目能复习、总结当前学习的布局技术
写完品优购项目能对实际开发中制作PC端页面流程有一个整体的感知
为后端学习移动端项目做铺垫
开发工具
VSCode Photoshop Chrome
技术栈
利用HTML+CSS3手动布局,可以大量使用H5新增标签和样式
采取结构与样式相分离,模块化开发
良好的代码规范有利于团队更好的开发协作,提高代码质量。因此品优购项目中,需要遵守以下规范:
12345678910111213141516171819202122232425262728293031323 ...