- 博客(29)
- 资源 (1)
- 收藏
- 关注
原创 精彩推送内容
操作系统:1.进程间通信https://mp.weixin.qq.com/s?__biz=MzUxODAzNDg4NQ==&mid=2247485318&idx=1&sn=0da0a684639106f548e9d4454fd49904&chksm=f98e432ccef9ca3ab4e10734fd011c898785f18d842ec3b148c7a8ee500790377858e0dbd8d6&scene=178&cur_album_id=140
2021-05-04 19:33:02 115
原创 妈妈再也不用担心我的工厂模式
1.简单工厂模式/** * @author cuishifeng * @create 2018-08-02 **/interface Computer { /** * 生产电脑 */ void createComputer();}/** * @author cuishifeng * @create 2018-08-02 **/class Cpu implements Computer { @Override public v
2021-06-21 16:21:06 115
原创 MATLAB绘制折线图
figure(1);T = [1 2 3 4 5 6 7 8 9 10];P1=[4.22 3.64 3.86 4.52 3.96 4.26 7.65 4.15 3.26 4.03];P2=[2.51 2.02 1.98 2.26 1.86 1.68 2.03 2.24 1.65 1.53];% P3=[0.69 0.71 0.73 0.75];% P4=[0.65 0.69 0.71 0.69];%plot(T,P1,'r.',T,P2,'b.',T,P3,'g.');line(T,P1,.
2021-06-19 17:22:25 682
原创 同花顺笔试
import java.lang.reflect.Method;import java.util.*;public class Test{ public static Test t1 = new Test(); public static Test t2 = new Test(); { System.out.println("构造块"); } static { System.out.println("静态块"); .
2021-06-19 14:04:34 289
原创 秒杀优化方案
//判断库存GoodsVo goods = goodsService.getGoodsVoByGoodsId(goodsId);//10个商品,req1 req2int stock = goods.getStockCount();if(stock <= 0) { return Result.error(CodeMsg.MIAO_SHA_OVER);}//判断是否已经秒杀到了MiaoshaOrder order = orderService.getMiaoshaOrderByUse.
2021-06-17 14:51:42 132
原创 ThreadLocal
ThreadLocal类用来提供线程内部的局部变量。这种变量在多线程环境下访问(通过get或set方法访问)时能保证各个线程里的变量相对独立于其他线程内的变量。ThreadLocal实例通常来说都是private static类型的,用于关联线程和线程的上下文。 可以总结为一句话:ThreadLocal的作用是提供线程内的局部变量,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度。举个例子,我出门需要先坐公交再做地铁,这里的坐公交和坐地铁就好比是同一个线程
2021-02-15 20:45:35 204
转载 String str = new String(“abc“)究竟创建了几个对象?
先给出答案:两个。(如果原来常量池中没有"abc")String是一个特殊的包装类数据。即可以用String str = new String("abc");的形式来创建,也可以用String str = "abc";的形式来创建String str = "abc"创建对象的过程首先在常量池中查找是否存在内容为"abc"字符串对象 如果不存在则在常量池中创建"abc",并让str引用该对象 如果存在则直接让str引用该对象"abc"是怎么保存,保存在哪?常量池属于类..
2021-02-13 10:33:07 348
原创 记录
MySQL索引:http://blog.codinglabs.org/articles/theory-of-mysql-index数据结构:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
2021-02-05 13:17:29 69
原创 主键&外键
一、什么是主键、外键:关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键比如学生表(学号,姓名,性别,班级)其中每个学生的学号是唯一的,学号就是一个主键课程表(课程编号,课程名,学分)其中课程编号是唯一的,课程编号就是一个主键成绩表(学号,课程号,成绩)成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以学号和课程号的属性组是一个主键成绩表中的学号不是成绩表的主...
2021-02-03 17:01:38 158
原创 多态
Java中的多态是三大特性中的一个比较重要的特性,《Java编程思想》中用了一个极度简单的话形容多态。多态通过分离做什么和怎么做来达到灵活编程的目的。多态存在是有一定条件的,主要有三个核心条件: 类之间要有继承关系。【无继承,何谈多态】 子类要重写父类的方法。【子类要有自己的思想】 父类引用指向子类对象。【这一点尤其重要,稍后加以阐述】 首先从例子出发,讲讲多态怎么玩?定义一个父类,简单粗暴就叫做Father类吧有两个属性:一个成员变量age,一个静态成员变
2021-02-02 11:57:02 189 2
原创 MySQL常用CRUD
INSERT命令语法:insert into 表名([字段1,字段2,字段3]) values (‘值1’),(‘值2’),(‘值3’,…)--插入语句(添加)INSERT INTO `grade` (`gradename`) VALUES ('大四')--由于主键自增我们可以省略(如果不写表的字段,他就会一一匹配)INSERT INTO `grade` VALUES (`大三`)--一般写插入语句,我们一定要数据和字段一一对应--插入多个字段INSERT INTO `grade..
2021-02-01 14:58:30 73
原创 手动创建一个线程池
import java.util.concurrent.*;// Executors 工具类、3大方法/** * new ThreadPoolExecutor.AbortPolicy() // 银行满了,还有人进来,不处理这个人的,抛出异 常 * new ThreadPoolExecutor.CallerRunsPolicy() // 哪来的去哪里! * new ThreadPoolExecutor.DiscardPolicy() //队列满了,丢掉任务,不会抛出异常! * new Thre.
2021-01-31 11:26:41 141
原创 生产者消费者模型-狂神版
1.synchronized+wait+notifyimport java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class TestLock{ public static void main(String[] args) { Data data = new Data(); new Thread(() -> {
2021-01-27 17:05:27 121
原创 TestList
1.使用synchronizedimport java.util.ArrayList;import java.util.List;import java.util.concurrent.CopyOnWriteArrayList;public class TestList { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>();
2021-01-26 20:51:27 250
原创 Thread方法
1.yield礼让,不保证一定成功public class TestYield { public static void main(String[] args) { MyYield myYield = new MyYield(); new Thread(myYield, "a").start(); new Thread(myYield, "b").start(); }}class MyYield implements Run
2021-01-26 14:24:45 112
原创 内部类,你到底累不累
public class TestLambda { //3.静态内部类 static class Like2 implements ILike{ @Override public void lambda() { System.out.println("3.静态内部类"); } } public static void main(String[] args) { ILike like =.
2021-01-26 10:40:10 91
原创 创建线程
继承Threadpublic class TestThread1 extends Thread{ @Override public void run() { for(int i = 0; i < 20; i++){ System.out.println("run " + i); } } public static void main(String[] args) { TestThread1
2021-01-25 23:04:05 51
原创 springboot邮件任务
邮件发送,在我们的日常开发中,也非常的多,Springboot也帮我们做了支持 邮件发送需要引入spring-boot-start-mail SpringBoot 自动配置MailSenderAutoConfiguration 定义MailProperties内容,配置在application.yml中 自动装配JavaMailSender 测试邮件发送 1.pom依赖<dependency> <groupId>org.s
2021-01-19 13:54:30 76
原创 子类父类中静态代码块、构造器的执行顺序
class a { { System.out.println("a构造代码块"); } static{ System.out.println("a静态代码块"); } public a() { System.out.println("a构造函数"); } void hh(){ System.out.println("a普通方法"); }}class b extends a.
2021-01-18 17:24:48 145
原创 我们为什么需要切面编程呢?
切面编程落实到软件工程其实是为了更好地模块化,而不仅仅是为了减少重复代码。通过 AOP 等机制,我们可以把横跨多个不同模块的代码抽离出来,让模块本身变得更加内聚,进而业务开发者可以更加专注于业务逻辑本身。从迭代能力上来看,我们可以通过切面的方式进行修改或者新增功能,这种能力不管是在问题诊断还是产品能力扩展中,都非常有用。...
2021-01-18 15:20:33 390
原创 springMVC三层架构理解
1.Dao:数据访问层,对应数据库的某张表,封装CRUD;2.Service:业务层,对一个或多个Dao进行再次封装成一个业务;3.Controller:负责请求转发,接收页面传过来的参数,再传给service处理,接到返回值再传给页面。=>Dao面向表,Service面向业务:数据库先设计出所有表,然后对每张表设计Dao层,然后对具体业务逻辑进一步封装Dao层成一个service层,对外提供服务。...
2021-01-16 16:53:03 787
原创 Controller层响应HTML数据
ModelAndView @RequestMapping(path = "/teacher", method = RequestMethod.GET) public ModelAndView getTeacher() { ModelAndView mav = new ModelAndView(); mav.addObject("name", "张三"); mav.addObject("age", 30); mav.setVi
2021-01-16 13:48:44 423
原创 @RequestParam & @PathVariable
@RequestParam // /students?current=1&limit=20 @RequestMapping(path = "/students", method = RequestMethod.GET) @ResponseBody public String getStudents( @RequestParam(name = "current", required = true, defaultValue = "1") in
2021-01-16 11:13:21 59
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人