无题
概述文章转自:http://blog.csdn.net/RunIntoLove/article/details/51422787
最近需要在电脑上自己搭一个数据库,由于在大学期间使用的是MySQL,也算是对它情有独钟吧,这次在Mac上依旧就使用MySQL吧,在这里记录一下安装以及配置的过程(注:博文中使用的OS X版本为:10.11.4)
下载Mysql一般情况,首先想到的必然会是官方网站,这里给出下载地址:MySQL Server官网下载https://dev.mysql.com/downloads/file/?id=476233https://dev.mysql.com/downloads/file/?id=495298
最新的版本是8.0.20:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.20-macos10.15-x86_64.dmg
最新的版本是8.0.20:https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.29-macos12-x86_64.dmg
...
无题
文章参考:https://www.cnblogs.com/zuoxiaolong/p/pattern26.html
概述我们在学习设计模式的时候,我们都知道有23种设计模式,7种设计原则。那么设计模式和设计原则到底有什么对应关系呢?或者说你清楚的知道一直在用的每种设计模式都遵循哪些设计原则,破坏了哪些设计原则吗? 下面,我们将会一一来分析一下。
下面,我们依次来回顾一下,这23种设计模式
设计原则: 设计模式(总纲)
创建型: 单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式
结构型: 代理模式、适配器模式、装饰器模式、桥接模式、组合模式 享元模式、外观模式
行为型: 观察者模式、模板方法模式、命令模式、状态模式、职责链模式、 解释器模式、中介者模式、访问者模式、策略模式、备忘录模式、迭代器模式
以上便是设计模式的分类,以及每个分类下的设计模式,可以看到其中行为型模式的个数为最多,结构型次之,创建型设计模式最少。
好的,我们再回顾一下设计原则:
1、单一职责原则: 每个类应该有且只有一个职责。(类不应该承担多个职责)
2、开闭原则: 对类的扩展 ...
无题
文章参考:https://github.com/iluwatar/java-design-patterns
概述在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据 7 条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。我们将在下面的几节中依次来介绍这 7 条原则。
首先,我们先来看一下,到底是哪七大原则(当然也有说是六大原则,不包含合成复用原则)。
单一职责原则
开闭原则
里氏替换原则
接口隔离原则
迪米特法则
依赖倒置原则
合成复用原则
1、单一职责原则就一个类而言,应该仅有一个引起它变化的原因,如果你能想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责.应该把多于的指责分离出去,分别再创建一些类来完成每一个职责.
单一职责原则的英文名称是Single Responsibility Principle,简称是SRP。这个原则说起来很简单,就是一个接口或者类只有一个职责,或者说类和接口的设计只能有一个原因引起他变化。
这句话说起来容易,对于职责的边界划分还是很难的。每个类应该有且只有一个职责。(类不应该承担 ...
无题
文章参考:https://zhuanlan.zhihu.com/p/86740798
概述关于JDK动态代理,想必小伙伴都知道,它只能代理接口!但是有的小伙伴可能会有疑问,为什么它只能代理接口,不能代理类呢?这里借助某位技术大佬的话–”源码面前,了无秘密“,下面咱们就一起看下JDK动态代理源码实现,最后再探讨下JDK动态代理为什么不能代理类。
关于JDK动态代理,想必小伙伴都知道,它只能代理接口!但是有的小伙伴可能会有疑问,为什么它只能代理接口,不能代理类呢?
动态代理是在运行期间通过接口生成代理类的,与静态代理相比更加灵活,但是也有一定的限制,
第一是代理对象必须实现一个接口,否则会报异常,因为人家原理就是根据接口来生成代理对象的。
第二是有性能问题,因为是通过反射来实现调用的,所以比正常的直接调用来得慢,并且通过生成类文件也会多消耗部分方法区空间,可能引起Full GC。
无题
文章参考:https://leonz_z.gitee.io/face2keyboard/2021/02/02/MacOSC/
文章参考:https://www.yht7.com/news/167429
无题
文章参考:https://blog.csdn.net/qq_17229141/article/details/106396797
无题
文章参考:https://mp.weixin.qq.com/s/b7TLFf87QQRqCtzh5tWKXw
概述技术架构,是将产品需求转变为技术实现的过程。技术架构解决的问题包括了如何进行纯技术层面的分层、开发框架选择、语言选择(这里以 JAVA 语言为主)、涉及到各自非功能性需求的技术点(安全、性能、大数据)。技术架构是确定组成应用系统实际运行的技术组件、技术组件之间的关系,以及部署到硬件的策略。
技术架构面临最大的挑战是“不确定性”。在技术架构上,很多时候就会面临这种选择。是要选择业界最新的技术?还是选择团队最熟悉的技术?如果选择最新的技术,遇到新技术出了问题怎么解决?如果选择目前熟悉的技术,后续技术演进怎么办?这些都是架构师在做技术架构过程中需要考虑的。
业务在千变万化、技术在层出不穷,没有一套通用的技术架构模式来适用所有的系统。那么,我们如何保证在做技术架构时,能够实现一个稳定、出色的系统。面对这些“不确定性”时的架构设计问题,这里从战略和战术两个层面来提供一些设计原则。战略层提供的是技术架构的方法和思路,属于顶层设计;战术层提供的是技术架构的技术实践方式,更偏向详细设计。
...
无题
概述Git环境安装Linux上安装Git 首先,你可以试着输入git,看看系统有没有安装Git:
1234567# Ubuntu系统:$ gitThe program 'git' is currently not installed. You can install it by typing:$ sudo apt-get install git#CentOS系统:yum install git
像上面的命令,有很多Linux会友好地告诉你Git没有安装,还会告诉你如何安装Git。
如果你碰巧用Debian或Ubuntu Linux,通过一条sudo apt-get install git就可以直接完成Git的安装,非常简单。
老一点的Debian或Ubuntu Linux,要把命令改为sudo apt-get install git-core,因为以前有个软件也叫GIT(GNU Interactive Tools),结果Git就只能叫git-core了。由于Git名气实在太大,后来就把GNU Interactive Tools改成gnuit,git-core正 ...
无题
概述上面,我们已经把git都安装完毕了。下面们来讲解一些git的常用的命令。
先看一些git中常见的名词
master: 默认开发分支
origin: 默认远程版本库
Index / Stage:暂存区
Workspace:工作区
Repository:仓库区(或本地仓库)
Remote:远程仓库
Git常用命令123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119##新建一个代码库//在当前目录下新 ...
无题
别名用来帮助你定义自己的git命令。
比如你可以定义 git a 来运行 git add –all。
要添加一个别名, 一种方法是打开 ~/.gitconfig 文件并添加如下内容:
Windows平台下修改
123456789[alias] ch = checkout cm = commit p = push # Show verbose output about tags, branches or remotes tags = tag -l brs = branch -a remotes = remote -v
…或者在命令行里键入:
1$ git config --global alias.new_alias git_function
例如:
1$ git config --global alias.cm commit
指向多个命令的别名可以用引号来定义:
1$ git config --global alias.ac 'add -A . && commit'
下面,是我设置的一些自定义的命令:
1234567 ...