![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
金政雄
这个作者很懒,什么都没留下…
展开
-
如何快速去看项目(一)
在公司,我们通常都是拿到一个别人已经写好的比较成熟的项目,这时候就需要我们具备一定的熟悉代码的能力,如何更加快速高效地融入到一个项目很关键。1 项目结构2 pom.xml现在一般都是通过maven去管理项目。如果是maven项目,可以看下pom.xml文件,通过它我们大概可以知道项目用到了哪些技术,关键词springboot、mybatis、mysql、redis、shiro、jdbc、hibernate、jpa等等3 application.yml这个是整个项目的配置文件,里面包括数据库如my原创 2020-11-18 23:02:06 · 3092 阅读 · 1 评论 -
2020-11-17
*序列化是干什么的? 序列化简单来说就保存对象在内存中的状态也可以说是实例化变量。这是Java提供的用来保存 Object state,一种保存对象状态的机制。只有实现了serializable接口的类的对象才能被实例化。*什么情况下会用到序列化? 1当你想把内存中的对象写入到硬盘时 2当你想用套接字在网络上传输对象时 3当你想通过RMI调用对象时(RMI是什么东西?):RMI总结来说就是远程调用对象,在一个jvm上调用另一个jvm的对象。*序列化需要注意的事项 1序列化只保存原创 2020-11-17 00:17:31 · 117 阅读 · 0 评论 -
2020-11-16
一.最常见方式(未必最佳)二.副本转为List后,支持增删改查的方式三.通过集合工具类Collections.addAll()方法(最高效)问题解答前言:本文介绍了Java中副本转换为列表几种情况的优劣对比,以及应用场景的对比,以及程序员常犯的类型转换错误原因解析。一.最常见方式(未必最佳)通过Arrays.asList(strArray)方式,将列表转换为列表后,不能对列表增删,只能查改,否则抛异常。关键代码:List list = Arrays.asList(strArray);pri原创 2020-11-16 00:42:37 · 145 阅读 · 0 评论 -
2020-11-15
经常玩游戏的同学,大家都知道,游戏都会有个主菜单,里面有多个菜单选项:开始游戏、游戏设置、关于游戏、退出游戏等等,这个菜单是怎么实现的呢。有一定桌面软件开发基础的同学可能会想到,用JButton组件就可以实现,每个选项就是一个按钮嘛。 嗯,这样做是可以的。但是,系统自带的JButton按钮,样式是已经定义好的,虽然可以设置它的颜色、背景等属性,但终归是受限制的。我们既然是学习游戏开发,那么时刻要记住台哥在之前的一个章节里所讲的,游戏里所有的东西都是计算机画出来的,程序员的工作就是,控制计算机在什么时间,原创 2020-11-15 01:09:48 · 139 阅读 · 0 评论 -
2020-11-14
写接口:在移动互联网,分布式、微服务盛行的今天,现在项目绝大部分都采用的微服务框架,前后端分离方式,(题外话:前后端的工作职责越来越明确,现在的前端都称之为大前端,技术栈以及生态圈都已经非常成熟;以前后端人员瞧不起前端人员,那现在后端人员要重新认识一下前端,前端已经很成体系了)。一般系统的大致整体架构图如下:需要说明的是,有些小伙伴会回复说,这个架构太简单了吧,太low了,什么网关啊,缓存啊,消息中间件啊,都没有。因为老顾这篇主要介绍的是API接口,所以我们聚焦点,其他的模块小伙伴们自行去补充。接口原创 2020-11-14 00:47:59 · 203 阅读 · 0 评论 -
2020-11-13
贪吃蛇VS坦克大战:package com.tank;import java.awt.Frame;import java.awt.Graphics;import java.awt.Image;import java.awt.Rectangle;import java.awt.Toolkit;import java.awt.event.KeyEvent;import java.util.List;import java.util.Random;/**坦克类@author LE原创 2020-11-13 20:55:52 · 90 阅读 · 0 评论 -
2020-11-13
package com.iotechn.unimall.admin.api.search;import com.iotechn.unimall.core.annotation.HttpMethod;import com.iotechn.unimall.core.annotation.HttpOpenApi;import com.iotechn.unimall.core.annotation.HttpParam;import com.iotechn.unimall.core.annotation.Ht原创 2020-11-13 20:45:25 · 172 阅读 · 0 评论 -
2020-11-13
贪吃蛇VS坦克大战原创 2020-11-13 20:53:13 · 112 阅读 · 0 评论 -
2020-11-13
你向 MySQL 插入 100万 条数据用了多久?目录1、多线程插入(单表)2、多线程插入(多表)3、预处理SQL4、多值插入SQL5、事务(N条提交一次)多线程插入(单表)问:为何对同一个表的插入多线程会比单线程快?同一时间对一个表的写操作不应该是独占的吗?答:在数据里做插入操作的时候,整体时间的分配是这样的:1、多链接耗时 (30%)2、多发送query到服务器 (20%)3、多解析query (20%)4、多插入操作 (10% * 词条数目)5、多插入index (10%原创 2020-11-13 00:23:48 · 154 阅读 · 0 评论 -
2020-11-13
程序员到底要学多少东西?程序员是一个需要终生学习的职业。我非常赞成终生学习,你应该这样做。但是,在软件开发领域,有如此多的新技术,有如此多要学习的东西,我们在学习中会感觉被完全压垮了。你感觉你一直在扮演追赶的角色,但是一直都赶不上。就像是跑步机一直比你能跑的最快速度还要快几步,你一直受挫,还有在最后关头掉队的危险。试着学太多问题就是尝试学太多导致的。有100种不同的技术,这些都是你必须或想要在工作中应用的。你感觉为了能够胜任,为了做到最好,你需要学习和精通所有的这些技术。然而问题是,你感觉你其实一个原创 2020-11-13 00:14:01 · 175 阅读 · 0 评论 -
2020-11-12
*java中21种锁:序号 锁名称 应用1 乐观锁 CAS2 悲观锁 synchronized、vector、hashtable3 自旋锁 CAS4 可重入锁 synchronized、Reentrantlock、Lock5 读写锁 ReentrantReadWriteLock,CopyOnWriteArrayList、CopyOnWriteArraySet6 公平锁 Reentrantlock(true)7 非公平锁 synchronized、reentrantlock(false)8原创 2020-11-12 00:14:29 · 115 阅读 · 1 评论 -
2020-11-12
单点登录的三种实现方式:在 B/S 系统中,登录功能通常都是基于 Cookie 来实现的。当用户登录成功后,一般会将登录状态记录到 Session 中,或者是给用户签发一个 Token,无论哪一种方式,都需要在客户端保存一些信息(Session ID 或 Token ),并要求客户端在之后的每次请求中携带它们。在这样的场景下,使用 Cookie 无疑是最方便的,因此我们一般都会将 Session 的 ID 或 Token 保存到 Cookie 中,当服务端收到请求后,通过验证 Cookie 中的信息来判断原创 2020-11-12 00:04:01 · 119 阅读 · 0 评论 -
2020-11-11
*什么是SpringCloud:个人理解:以前的服务器就好像,一个会语数外全能的老师,为学生提供服务,这个老师生病了,那全校停课。现在微服务流行后,学校有了数学教研组,语文教研组,外语教研组,每个教研组有一群老师具体负责某科的教学,缺了谁,学校都照样运转。而这个变化中,那些改变历史的程序员就是把一个服务器中的众多服务,或好几台服务器中的众多服务,分类出来,解耦合出来,把他们类似的功能交给同一个集群来做,把互相耦合在一起的功能剥离出来,按业务,按功能来把他们作为一个个微服务放在服务器上,而这个服务器就只原创 2020-11-11 23:47:37 · 168 阅读 · 0 评论 -
2020-11-11
1.什么是SpringCloud?SpringCloud官网:https://spring.io/projects/spring-cloud(个人建议是用谷歌浏览器访问官网打开中文翻译粗略把官网读一遍)个人理解:以前的服务器就好像,一个会语数外全能的老师,为学生提供服务,这个老师生病了,那全校停课。现在微服务流行后,学校有了数学教研组,语文教研组,外语教研组,每个教研组有一群老师具体负责某科的教学,缺了谁,学校都照样运转。而这个变化中,那些改变历史的程序员就是把一个服务器中的众多服务,或好几台服务器原创 2020-11-11 23:50:51 · 303 阅读 · 0 评论 -
2020-11-11
1.使用@Controller构造型这是创建可以处理一个或多个请求的控制器类的最简单方法。仅通过用构造型注释一个类@Controller ,例如:import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic class HomeController {@RequestMapping("/")publi原创 2020-11-10 23:43:39 · 102 阅读 · 0 评论 -
2020-11-10
RabbitMQ的六种工作模式routing路由模式1.消息生产者将消息发送给交换机按照路由判断,路由是字符串(info) 当前产生的消息携带路由字符(对象的方法),交换机根据路由的key,只能匹配上路由key对应的消息队列,对应的消费者才能消费消息;2.根据业务功能定义路由字符串3.从系统的代码逻辑中获取对应的功能字符串,将消息任务扔到对应的队列中业务场景:error 通知;EXCEPTION;错误通知的功能;传统意义的错误通知;客户通知;利用key路由,可以将程序中的错误封装成消息传入到消息原创 2020-11-10 23:38:02 · 130 阅读 · 0 评论 -
2020-11-10
RabbitMQ的六种工作模式:*simple简单模式1.消息产生着§将消息放入队列2.消息的消费者(consumer) 监听(while) 消息队列,如果队列中有消息,就消费掉,消息被拿走后,自动从队列中删除(隐患 消息可能没有被消费者正确处理,已经从队列中消失了,造成消息的丢失)应用场景:聊天(中间有一个过度的服务器;p端,c端)*work工作模式(资源的竞争)1.消息产生者将消息放入队列消费者可以有多个,消费者1,消费者2,同时监听同一个队列,消息被消费?C1 C2共同争抢当前的消息队列内容原创 2020-11-10 23:34:23 · 81 阅读 · 0 评论 -
2020-11-06
如何获取数据库时间?如何修改数据库时间?java来个帮帮忙创建日期 更新日期 创建人 等等原创 2020-11-06 21:06:13 · 109 阅读 · 2 评论