1 架构设计
经过了接近一学期的程序设计训练,在这一单元的第一次作业中我就非常注重架构的设计,竭力避免像之前一样陷入“第一次作业凑合,第二次作业重构”的不健康的迭代模式。整体上来说,我对我本次作业的架构还是很满意的。废话不多说了,直接上类图:
从类图也可以看出来,整体的架构非常工整。MyUmlGen
本人刚到大三时前面两年荒废了 什么都没学到所以打算自学个编程 自己对Java非常感兴趣 就打算自学Java 但是一开始看书 有很多看不懂 非常苦恼 也打算过去培训 但是培训太贵了 最后打算还是先自学一段时间 不行再去培训 最后买了一套教程 觉得这套教程非常不错 老师讲解非常细致 通俗易懂 自学了几个
目录
安装gradle
导入Spring源码
创建测试模块my-test
本文思维导图
本文将粗略的搭建一个Spring源码的阅读环境,为后面的源码阅读做一个准备。做任何事情不管是有一个完美的或者
leetcode 地址:
https://leetcode.com/problems/implement-trie-prefix-tree/description/
难度:中等
描述:略
解题思路:
Trie树 也就是字典查找树,是一种
16套Java架构师,集群,高可用,高可扩展,高性能,高并发,性能优化,设计模式,数据结构,虚拟机,微服务架构,日志分析,工作流,Jvm,Dubbo ,Spring boot,Spring cloud, Redis,ActiveMQ,Nginx,Mycat,Nett
异常处理
我们在写代码时,经常出现的一些小问题,为了方便我们处理,java为我们提供了异常机制
捕获异常与抛出异常
//捕获异常格式:
try {
//可能出错的语句
} catch (出错的类型 出错的对象) {
//出错后的处理
Redis:
1、概念:redis是一款高性能的NOSQL系列的非关系型数据库。
2、下载安装。
1、redis有中文网。
2、解压直接可以使用。
*redis.windows.conf :配置文件。
*
装饰模式:就是动态地给一个对象添加一些额外的职责(功能)。那么如何动态的给一个对象添加功能呢,以下给出了例子。
//Person是一个对象接口,我们的目的是给实现这个接口的对象动态的添加职责public interface Person {
//定义一了一个装饰
目录
大项目之网上书城(十一)——前台完成主要改动
新增代码1.head.jsp
效果图
2.changeinfo.jsp
效果图
3.shou.jsp
效果图
前面介绍了怎样通过Socket在客户端与服务端之间传输文本,当然Socket也支持在客户端与服务端之间传输文件,因为文件本身就是通过I/O流实现读写操作的,所以在套接字的输入输出流中传输文件真是再合适不过了。只是套接字属于长连接,倘若Socket一直不关闭,连接将总是处于就绪状态,也就无法判断文件数
本篇内容说说Spring对切面的支持,如何把普通类声明为一个切面,以及如何使用注解创建切面,主要有以下几点内容:
什么是面向切面编程
选择连接点
使用注解创建切面
在XML中声明切面
什么是面向切面编程
切面能帮助模块化横切关注点,横切关注
java基础语法
计算机存储单元:
字节是计算机中最小存储单元
8个bit(二进制位<0或1>)表示为一个字节,(写成1 Byte或1 B)
1 Byte = 8 bit
1 KB = 1024 Byte
1 MB = 1024 KB
1 GB = 1024 MB
1 TB = 102
突然发现今天要介绍的东西都和百度有点关系,不得不说,这家公司虽然做了很多不好的事情,但有些产品也毕竟是方便了我们的日常,一点小牢骚,开始今天的介绍吧:)
百度统计
这个工具很多做产品或者是运营的童鞋应该不会陌生,因为百度统计的作用,就是用来分析一款产品(网页,App)的流量数据信息。包括访客数量,新
因为项目中之前的做法是用反射获取属性,所以demo中也是用的反射,我看网上很多文章都是存入一个List<Map>中,不知道这两种哪种更何合适一点,或者有没有什么更好的方法。
首先引入pom,lombok可选
<dependency>
第一章 corejava的入门一:什么是语言语言=os+数据结构+算法+思想os:操作系统数据结构:队,栈,二叉树,链表算法:做游戏开发时非常重要面试题:int a>0,b>0只使用一条输出语句输出a,b的最大值System.out.println((|a+b|+|a-b|)/2);二:
myeclipse 识别一个工程需要.classpath与.project文件,一般无需提交SVN所以项目切下来的时候是没有这两个文件的。
方法1:
1) 在myeclipse中新建一个和你要导入的项目同名的项目。2) 在新建的项目中找到.project
一、泛型概念
一般的类和方法,只能使用具体的类型,要么是基础类型,要么是自定义的类,接口等。泛型,按字面意思来理解就是泛化的类型。什么是泛化的类型呢,在面向对象里,继承是一种泛化机制,方法可以接受一个基类的参数,那么该基类延伸出来的所有子类都可以传递进来,这可以说是一种泛化,广泛化
多线程
//一种方法是将类声明为 Thread 的子类。该子类应重写 Thread 类的 run 方法。接下来可以分配并启动该子类的实例(不推荐)
//另一种方法是声明实现 Runnable 接口的类。该类然后实现 run 方法。然后可以分配该类的实例,在创建 Thread 时作为一个参数来传递并
一、创建线程
1.创建普通对象,只是在JVM的堆里分配一块内存而已
2.创建线程,需要调用操作系统内核的API,然后操作系统需要为线程分配一系列资源,成本很高
线程是一个重量级对象,应该避免频繁创建和销毁,采用线程池方案
二、一般的池化资源
1. 概述
本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。
2. 基本概念
在介绍架构之前,为了避免部分读者对架构设计中的一些概