自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 Jsp的重定向和转发的流程有什么区别

重定向时服务器产生两次请求,转发产生一次请求,重定向时可以转发到项目以外的任何网址,转发只能在当前项目里转发。重定向会导致request对象信息丢失。重定向是客户端行为,转发是服务器端行为。重定向的url会改变,转发的url不会变,

2023-05-25 10:20:16 103 1

原创 Session的主要几个方法的区别

Session不能通过new创建,需要通过调用getSession()或者getSession(true)方法创建,getSession()是自动创建session,通过setMaxInactiveInterval()可以设定session的生存时间(web.xml可以设置session的生存时间)销毁session调用invalidate方法。setAttribute()方法可以用于。getAttribute()可以用于。

2023-05-25 10:20:03 82

原创 如何处理Servlet的线程不安全问题

比如同时有两个用户A和用户B登录时,会启动两个负责登录的Servlet线程,并且触发Service方法才处理请求.所以在Servlet处理共享数据的时候,会出现。当用户发送Http请求的时候,tomcat会读取web.xml中的内容,加载所定义的Servlet并实例化该Servlet.用synchronized进行保护,但是要尽量的缩小保护范围。使用全局变量会出现线程安全问题,所以我们可以。

2023-05-25 10:17:06 112

原创 三个层次/缓存

2023-05-25 10:15:10 45

原创 Shiro 架构

Subject 代表了当前“用户”, 这个用户不一定 是一个具体的人,与当前应用交互的任何东西都是 Subject,如网络爬虫, 机器人等;(3)Realm:Shiro 从 Realm 获取安全数据(如用户、角色、权限),就是说 SecurityManager 要验证用户身份,那么它需要从 Realm 获取相应的用户 进行比较以确定用户身份是否合法;可以看出它是 Shiro 的核心,它负责与 Shiro 的其他组件进行交互,它相当于 SpringMVC 中 DispatcherServlet 的角色。

2023-05-25 10:13:42 24

原创 JVM 对象创建步骤流程是什么?

内存大小的划分分为两种情况: 第一种情况:JVM 的内存是规整的, 所有的使用的内存都放到一边, 空闲的内存在另外一边, 中间放一个指针作为分界点的指示器。第二种情况:JVM 的内存不是规整的, 也就是说已使用的内存与未使用的内存相互交错。完成了上面的步骤之后 从 JVM 来看一个对象基本上完成了, 但从 Java 程序代码绝对来看, 对象创建才刚刚开始, 需要执行 < init > 方法, 按照程序中设定的初始化操作初始化, 这时候一个真正的程序对象生成了。JVM 对对象进行必要的设置。

2023-04-27 15:35:50 108

原创 MySQL 的 SQL 调优

关于 mysql 执行计划,可以用 explain 或 explain extended 分析下执行计划,重点关注下 key(用到那个索引)、rows(扫描行数)、extra:using filesort(需要额外进行排序),using temporary(mysql 构建了临时表,比如排序的时候),using where(就是对索引扫出来的数据再次根据 where 来过滤出了结果)重点的信息,基本也就能定位 sql 性能的问题了。然而此时就会有疑问,都单表了,还有什么好优化的呢?

2023-04-27 15:25:12 115

原创 MySQL 分表分库全局 ID

其核心思想是:使用 41 bit 作为毫秒数,10 bit 作为机器的 ID(5 个 bit 是数据中心,5 个 bit 的机器 ID),12bit 作为毫秒内的流水号(意味着每个节点在每毫秒可以产生 4096 个 ID),最后还有一个符号位,永远是 0。一般如果用这个方案,是将当前时间跟很多其他的业务字段拼接起来,作为一个 id,如果业务上你觉得可以接受,那么也是可以的。这个就是获取当前时间即可,但是问题是,并发很高的时候,比如一秒并发几千,会有重复的情况,这个是肯定不合适的。

2023-04-27 15:23:33 179

原创 死锁场景-

如此上述场景就会导致死锁,可以根据 innodb_lock_waits、innodb_locks 等查询具体是那些 sql 导致,具体分析下。

2023-04-27 15:21:16 23

原创 mysql 锁

select,innodb 啥锁都不加,因为 innodb 默认实现了可重复读,也就是 mvcc 机制,所以多个事务随便读一个数据,一般不会有冲突,大家就读自己那个快照就可以了,不涉及到什么锁的问题。一般 myisam 会加表锁,就是 myisam 引擎下,执行查询的时候,会默认加个表共享锁,也就是表读锁,这个时候别人只能来查,不能写数据的;innodb 的行锁有共享锁(S)和排他锁(X),两种,其实说白了呢,共享锁就是,多个事务都可以加共享锁读同一行数据,但是别的事务不能写这行数据;

2023-04-27 15:20:43 45

原创 MySQL 索引实现原理

innodb 存储引擎,必须有主键,可以默认内置的就会根据主键(6 字节的 rowid)建立一个索引,叫做聚簇索引,innodb 的数据文件本身同时也是个索引文件,这个索引就是默认根据主键建立的叫做聚簇索引。尽量创建少的索引,比如说一个表一两个索引,两三个索引,十几个索引,高并发场景下还可以。mysql 的索引就是用一个数据结构组织某一列的数据,然后如果你要根据那一列的数据查询的时候,就可以不用全表扫描,只要根据那个特定的数据结构去找到那一列的值,然后找到对应的行的物理地址即可。

2023-04-27 15:19:23 47

原创 2021-09-29

软件开发流程软件开发流程即软件设计思路和方法的一般过程,包括对软件先进行需求分析,设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编码和调试、程序联调和测试以及编写、提交程序等一系列操作以满足客户的需求并且解决客户的问题,如果有更高需求,还需要对软件进行维护、升级处理,报废处理。...

2021-09-29 17:51:16 37

原创 2021-09-29

软件公司有哪些?1、任天堂株式会社:前身于1889年9月23日成立。最初由山内房治郎创立,主要生产手制纸牌,1963年正式更名为任天堂株式会社,业务主要逐渐转向于电子产品方面,之后研制出影响具大的Famicom任天堂游戏机,使之迅速成为全球最大的电视游戏公司。2、微软公司:是美国一家跨国电脑科技公司,于1975年由比尔•盖茨和保罗•艾伦创立。微软以研发、制造、授权和提供广泛的电脑软件服务业务为主。3、美国甲骨文公司:是全球最大的信息管理软件及服务供应商,成立于1977年。...

2021-09-29 17:50:49 52

原创 2021-09-29

Java开发工具有哪些?java开发工具有JBuilder、VisualAgeforJava、ForteforJava,VisualCafe、 Eclipse、NetBeansIDE、JCreator+J2SDK、jdk+记事本、EditPlus+J2SDK等。

2021-09-29 17:50:04 39

原创 2021-09-29

电脑上怎么找到环境变量在电脑上进入控制面板。点击“选择系统与安全”选项,接着选择“系统”选项。选择页面左边菜单中的“高级系统设置”。点击“环境变量”。之后点击“Path”这一行。选择“编辑”,接着选择“新建”,将新的环境变量路径添加到“新建”即可。...

2021-09-29 17:49:19 24

原创 2021-09-26

Java的图标和由来JAVA的图标为什么是一杯咖啡?在印度尼西亚,有一个岛屿叫做爪哇岛,英文名叫java因盛产咖啡而闻名.而java的开发工程师们非常喜欢喝这种咖啡,所以将语言命名为java,以及将图标设置为一杯咖啡.这里有个小插曲,起初 java并不叫java,而叫oak(橡树),但是因为 oak这个商标已经被注册了,所以才有了 java....

2021-09-26 19:20:13 24

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除