- 博客(18)
- 收藏
- 关注
原创 从鸭子游戏设计看设计模式
策略模式 1.什么是策略模式 策略模式作为一种软件设计模式,指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。比如每个人都要“交个人所得税”,但是“在美国交个人所得税”和“在中国交个人所得税”就有不同的算税方法。 2.案例 需求是设计一个模拟鸭子的游戏.游戏中会出现各种的鸭子,一边游泳戏水,一边呱呱叫(不同种类的鸭子的叫声不一样),一边飞行(部分鸭子不会飞). 1.使用继承的设...
2020-04-27 12:39:28
784
原创 快速排序Java实现
快速排序Java代码实现 什么是快排 快速排序(Quicksort)是对冒泡排序 的一种改进。 快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列 快排Java实现 public ...
2020-04-24 22:30:13
460
原创 为什么单例模式中需要加上volatile?
首先我们直接上一段代码 package com.demo.lc; public class Singleton { public volatile static Singleton instance;//避免代码1位置的指令重排//3 /** * * 代码1位置的指令重排实际上是分为三步 * 1..memory = allocate() //分配...
2020-04-22 22:36:31
1798
2
原创 Java修饰符的限定范围
前言 面试的时候有被问到修饰符的范围,现在来总结一下 同一个类 同一个包 子类 不同包非子类 public Y Y Y Y protected Y Y Y N Default Y Y N N private Y N N N ...
2020-04-22 21:22:26
345
原创 Java5种锁优化
锁优化(synchronized) JDK1.6的对锁进行了大量的优化以满足不断发展的性能要求.JDK主要的锁优化如下 自旋锁和自适应自旋锁 偏向锁 轻量级锁 锁粗化 锁消除 自旋锁和自适应自旋锁 挂起线程和恢复线程都需要转入内核态完成,这些操作给Java带来了很大的压力消耗很大,而对于大部分线程获取锁的时间很短,当一个线程等待另一个线程释放锁的时候将此线程挂起然后很短的时...
2020-04-20 03:47:13
334
原创 mysql调优
Mysql性能调优 Mysql逻辑架构:可拔插的架构 第一层是连接层,连接池,实现mysql的连接验证 服务层,完成核心服务功能,sql接口,sql分析和缓存,还要优化 引擎,myrsam和innoDB,可以拔插,可以选择不同的引擎进行默认的引擎就是innerDB引擎. 文件存储层,主要将数据存储在裸设备之上,并完成与存储引擎的交互 存储引擎简介 show enginers [外链图片转存失败...
2020-04-20 03:24:19
307
原创 SpringMvc基础详细讲解
SpringMvc part1 SpringMVC的概述 1.三层架构 c/s架构 b/s架构 表现层:web,获取到前端的请求数据,然后将处理后的结果响应给用户. 业务层:service 持久层:dao 2.MVC的设计模型 MVC:模型视图控制器. model 模型JavaBean view 视图:jsp html control...
2020-04-20 03:00:39
316
原创 Mybatis基础详细介绍
Mybatis 1什么是框架 半成品软件,项目开发中的解决方法,不同的框架解决不同的问题 使用框架的好处就是封装了很多的细节,使得开发者可以使用既简单的方式来解决开发,大大的提高了开发的效率. 2.三层架构 1.表现层:展现数据 SpringMvc 2.业务层:业务需求 3.持久层:是和数据库进行交互 mybatis Spring 不属于任何一层但是无可替代 3.持久层的技术解决方案 JDBC技术...
2020-04-20 02:59:30
294
原创 Spring框架基础知识详解
Spring 1.Spring概述 Spring是分层的java SE/EE应用 full-stack 轻量级开源框架,以IOC(Inverse of control)翻转控制和AOP(Aspect Oriented Programming:面向切面编程)为内核. 2.Spring两大核心 IOC AOP 3.Spring发展历程和优势 1.方便解耦便于来发 2.AOP编程的支持 ...
2020-04-20 02:57:53
457
原创 回溯法总结附带leetcode例题
回溯法总结 39. 组合总和 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。 说明: ``` 所有数字(包括 target)都是正整数。 解集不能包含重复的组合。 ``` 示例 1: 输入: candidates = [2,3,6,7...
2020-04-20 02:55:34
251
原创 HTTPS解决HTTP三个缺点
HTTPS HTTP协议的缺点 通信使用明文(不加密)内容会被监听 不验证通信方的信息,因此可能遭遇伪装 无法证明报文的完整新,所以有可能遭到篡改 因为HTTP的这些缺点,所以引入了HTTPS来进行加密.HTTPS 是 HTTP + SSL(secure socket layer) OR TLS HTTPS解决了下面两个问题 认证访问的网站.比如说你在访问支付宝,怎么确定你访问的就是阿里巴巴...
2020-04-20 02:47:57
994
原创 Mysql指令详细介绍
1. Mysql 1.1 服务的开启和关闭 密码是root //在管理员的模式下打开cmd net stop mysql 关闭服务 net start mysql 启动服务 1.2 Mysql的登陆和推出 MYSQL登陆 mysql -uroot -proot //u表示用户名 //p表示密码 第二种登陆方法 mysql -uroot -p 然后输密码 第三种 mysql --host=ip地址...
2020-02-15 21:02:15
302
原创 注解
1.1基本概念 注解是给计算机看的,注释是给人看的。注解是1.5之后的新特性。用来说明程序的 作用分类 编译检查:通过代码里面标识的注解让编译器可以实现基本的编译检查 编写文档:通过代码里标识的注解生成文档[生成文档doc 文档 代码分析:通过代码里面标识的注解对代码实现分析(通过反射) 1.2 JDK内置的注解 @Override 检测是否继承自父辈 @Deprecated:标注使用的...
2020-02-15 20:58:54
211
原创 Stream流
Stream 流 1.1 案例1 Stream 流重新对数组进行过滤并且遍历打印 package stream; import java.util.ArrayList; public class Filter { public static void main(String[] args) { // TODO Auto-generated method stub ArrayList...
2020-02-12 13:55:20
147
原创 java网络编程
Java网络编程 一,网络编程入门 1.1 软件结构 c/s结构:全称是client/serve结构,是指的客户端和服务端的结构,常见的有QQ,迅雷。 B/S:全称是brower/server结构,是指的浏览器和服务端的结构,常见的就是网页。 1.2网络通信协议 网络通信协议:通过计算机网络可以使多台计算机实现连接,位于同一个网络的计算机在网络连接和通信时需要遵守一定的规则。者就好比在道路上行走需...
2020-02-11 21:44:44
171
原创 java并发编程基础
java多线程 一,并发和并行 并行:同一时刻,速度更快 并发:在一段时间内交替实现,伪并行。 二, 线程和进程 进程L:进入到内存中的程序叫做进程 线程:进程里面的单位,相互不影响 多进程的缺点 在于创建进程的开销比较大,尤其在windows上; 进程间通信比线程间要慢,因为线程之间读写的是同一个变量速度很快 多进程程的优点 稳定,因为多进程中一个线程的崩溃不会导致另一...
2020-02-11 21:43:06
139
原创 Java新特性函数式接口
一,函数式接口 1.1概念 函数是借口在Java中指的是:有且仅有一个抽象方法的接口。而Java中的函数式编程体现就是lambda,所以函数式接口就是可以使用于lambda的接口,只有确保接口中只有一个抽象方法,Java中的lambda才能顺利的进行推导。 备注:语法糖是指的是为了使用更加方便,但原理不变的代码语法。例如for循环和增强for循环。从应用层面来看lambda可以看作是匿名内部类的...
2020-02-11 21:28:24
187
原创 二叉树的BFS和DFS详细python代码
二叉树的三种深度遍历和层次遍历详细代码 一、DFS 1.二叉树的前序遍历 思路:迭代 维护一个堆栈来遍历 # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # sel...
2020-01-06 20:26:26
974
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅