- 博客(15)
- 资源 (2)
- 收藏
- 关注
原创 Spring SpringBoot SpringCloud傻傻分不清楚,初学者的思想变化
spring, 学习的第一步xml配置bean,xml注入,通过这些方式开发一个spring项目是学spring的第一步, 麻烦,报错,还要打长篇xml以及区分xmlspringBoot, 为人考虑周到的管家到了springBoot,@(注解) 这个神奇的东西出现了,前人意识到xml配置的麻烦,利用java的反射和注解机制,大大优化各个bean的关系配置springCloud, 分布式服务spring的核心就是容器和bean的处理,像是人体和细胞,那人体是不是也在地球这个大容器里, 分布式我认
2020-09-12 18:41:05 233
原创 SpringCloud: RestTemplate前面为什么要加@Bean
从spring学习到SpringCloud@bean变味了在学spring时,@bean(只是说这个注解) 在springMVC中主要充当数据库对象传入与调用,比如数据库用户管理,通常User就有@bean在User类,憨憨大多以为@bean是只有关于对象的注入简单功能.bean(不是指@bean)是啥先树立spring的核心(也就是提供一个容器)的观念,这个容器能装东西(废话…),装的就是一些应用组件(一个个分开的),也就是bean,spring框架巧妙且方便之处就是组件的创建管理不用开发者去管,那
2020-09-12 17:41:33 1383
原创 数据库.简单学生管理系统
建立表建立年级表create table class( id int not null primary key auto_increment,class tinyint ,name varchar(4) not null)engine=innodb default charset=utf8; 建立成绩表create table grade( id int not null primary key auto_increment,number char(50) ,subject_id
2020-07-04 11:24:05 1547 1
原创 JSON解析大法
问: Java中有几种XML解析方式 ? 分别是什么 ? 有什么样的优缺点 ?答: 四种.一. SAX解析==(就像背课文,从头背到尾,你也不能删课文内容,改课文内容)==解析方式是事件驱动机制 !SAX解析器, 逐行读取XML文件解析 , 每当解析到一个标签的开始/结束/内容/属性时,触发事件.我们可以编写程序在这些事件发生时, 进行相应的处理.优点:分析能够立即开始,而不是等待所有的数据被处理逐行加载,节省内存.有助于解析大于系统内存的文档有时不必解析整个文档,它可以在某个条件得到满
2020-06-18 01:56:32 150
原创 隐式锁与显式锁详细对比
synchronized修饰的对象,该对象就是隐式锁,例子如下public static void main(String[] args) { Runnable run = new Ticket(); new Thread(run).start(); new Thread(run).start(); new Thread(run).start(); new Thread(run).start(); } stat
2020-06-15 16:14:00 292 1
原创 乱码?烦死了到底是啥原因
java字符串统一用Unicode表示这点先明确,那什么是Unicode呢,Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案,有人要问了,那ASCII 码和他什么关系,其实可以理解ASCII 码是编码鼻祖,外国人打的程序嘛,只有英文数字和特殊符号,所以ASCII 码只有128个,随着时间发展我们汉字拉丁文字等等等等,ASCII 码顶不住啊,于是就有了Unicode,Unicode编写的方式就是喜闻乐见的UTF-8了,在Unicode出现之前中国自个为汉字正名,编写了GBK,一般乱码
2020-06-13 02:09:29 180
原创 java集合杂记
类集java对数据结构的成熟实现三大接口Lterator: 迭代器,对所有数据结构最优的获取方式collection :进行单值存储的集合,如数组Map: 双值存储的方式,如钥匙对[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2LakyQ8u-1591722166927)(C:\Users\17243\AppData\Roaming\Typora\typora-user-images\image-20200609230734104.png)]常见的数据结构栈
2020-06-10 01:04:26 121
原创 java集合杂记
类集java对数据结构的成熟实现三大接口Lterator: 迭代器,对所有数据结构最优的获取方式collection :进行单值存储的集合,如数组Map: 双值存储的方式,如钥匙对常见的数据结构栈: 先进后出,只在尾部操作队列: 先进先出数组:查找方便,操作慢链表: 存下一个元素的地址,查找慢二叉树: 会存下左右俩边的地址,代表性有红黑二叉树图: 由节点和边构成,节点,边都可以有权值,边还可以有方向collection[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来
2020-06-09 00:31:50 80
原创 详细解释java链表
package com.home;public class MyLink {/*** 链表中的节点,data代表节点的值,next是指向下一个节点的引用*/class Node {Node next = null;// 节点的引用,指向下一个节点int data;// 节点的对象,即内容 public Node(int data) { this.data = data; }}Node head = null; //头节点//链表长度public in
2020-06-06 23:44:50 223
原创 java泛型
泛型使用场景: 第一次使用是一种未定义类型,但第二次使用就会被定义成使用类型,设置成泛型,编译时就会去泛性化在类中使用(使用最常见)在定义类的名字后面加<字母>(字母E表示元素等等)在类定义里面第一次使用不确定,第二次在其他类就会变成使用的类型(第6行)public class ClassName<T>{private T data;public T getData() {return data;}public void setData(T data) {thi
2020-06-05 00:10:26 74
原创 面向对象学习第三天,个性理解三大原则及抽象
面向对象三大原则: 封装,继承,多态以封装来看: 修饰符是最具代表性( 背 )修饰符当前类同一包内子孙类(同一包)子孙类(不同包)其他包publicYYYYYprotectedYYYY/N(说明)NdefaultYYYNNprivateYNNNN把属性,方法,类分成不同的作用域, 可以一层层编写代码 , 体现不同层面的相互关系以继承来看: 目的就是让重复的代码减少,父与子的关系最好体现,实现抽象类也是一种继承
2020-06-01 17:24:22 91
原创 面向对象第二天
封装private 私有修饰符,加了这个修饰后不能出类建议: 写的属性都进行封装,具体就是设置getXXX及setXXX方法this关键字他在哪里面,就代表哪个对象在哪个类里面this就是哪个类死记this在同一个类里构造方法调用里面另一个构造方法一定是放在方法第一条static静态关键字修饰后为静态属性,存储在方法区,有自己的内存地址,不依赖对象创建改变,与类同时创建没static理解为对象的属性,加了static就理解为是类的属性,用类一样的方式去用static[外链图片转存失败,
2020-05-29 00:03:23 134
原创 面向对象再学习笔记=.=
面向对象面向对象是相对于面向过程来讲的,指的是把 相关的数据和方法组织为一个整体面向对象到面向过程, 是程序员思想上 从执行者到指挥者的转变三大特征封装性:所有的内容对外部不可见继承性:将其他的功能继承下来继续发展多态性:方法的重载本身就是一个多态性的体现知识点类与对象类必须通过对象才可以使用,对象的所有操作都在类中定义。(图纸与实物,模板与成品关系)类由属性和方法组成:· 属性:就相当于人的一个个的特征· 方法:就相当于人的一个个的行为,例如:说话、吃饭、唱歌、
2020-05-27 23:06:17 166
原创 Java 基础俩人对下五子棋
Java五子棋,一看就懂``import java.io.IOException;import java.util.Scanner;public class Chess {/*棋盘大小 */final private int SIZE = 10;/**表示棋盘的二维数组 */private String[][] chessBoard;/**表示当前是黑棋还是白棋 */private boolean flag = true;/**多少个棋子连线就胜利 */private
2020-05-26 21:56:28 332
原创 数组再次理解学习
数组1.数组:是相同数据类型的多个数据的容器2.创建格式数据类型[] 数组名称={数据1,数据2,数据3} 创建并赋值数据类型[] 数组名称= new 数据类型[数组长度]; 数组长度为int数据[] 数据名称 不常用4. 数据类型[]数据名称=new 数据类型[]{数据1,数据2,数据3} 不常用3.操作数组 1.给数组下标赋值 数组名称[下标]=值 2.从数组某个下标取值 : 数组名称[下标] 3.获取数组长度
2020-05-25 23:46:54 94
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人