
Java
文章平均质量分 89
叫我宫城大人
你只有竭尽全力,才能看起来毫不费力。
展开
-
synchronized底层原理
一探究竟:反编译三种使用场景,示例代码;public class SynchronizePrincipe { public synchronized static void fun1(){} public synchronized void fun2(){} public void fun3() { synchronized (this){} }}通过javap -c -v命令反编译后(部分代码); public static synchroni原创 2022-03-06 11:42:28 · 530 阅读 · 0 评论 -
MQ 入门实践
MQMessage Queue,消息队列,FIFO 结构。例如电商平台,在用户支付订单后执行对应的操作;优点:异步削峰解耦缺点增加系统复杂性数据一致性可用性JMSJava Message Service,Java消息服务,类似 JDBC 提供了访问数据库的标准,JMS 也制定了一套系统间消息通信的规范;区别于 JDBC,JDK 原生包中并未定义 JMS 相关接口。ConnectionFactoryConnectionDestinationSe原创 2021-04-19 22:23:43 · 816 阅读 · 3 评论 -
数据库(MySQL) 入门实践
1 数据库存放数据的仓库。例如你的账号信息,订单记录等。2 SQLStructured Query Language,用于访问和处理关系数据库的标准的计算机语言。按照功能又可分为四大类;DQL查询语言,基本语句 SELECT;DML操纵语言,主要有三种形式,INSERT、UPDATE 和 DELETE;DDL定义语言,创建表、视图、索引等,CREATE TABLE;DCL控制语言,用来授权或回收某种特权,基本形式有 GRANT、 COMMIT 和 ROLLBACK;原创 2021-01-11 23:49:48 · 206 阅读 · 0 评论 -
Reids 入门实践
1 简介Redis,REmote DIctionary Server,是一个由 Salvatore Sanfilippo 写的 Key-Value 存储系统。Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(Value)可以是字符串(String), 哈希(Map), 列表(list), 集合(sets)和有序集合(sorted sets)等类型。2原创 2020-12-29 00:22:15 · 269 阅读 · 1 评论 -
2分钟搭建一个在线博客
准备条件GitHub 账号;创建项目新建一个项目,项目名格式为${username}.github.io, username 为你的 github 账号名;选择主题进入项目设置,选择博客主题;这里我选择了 Cayman 主题,简单朴素支持响应式布局。设置首页在项目根目录创建 index.md,添加如下内容;欢迎进入我的在线博客。在线验证访问https://${username}.github.io,验证成果;附上我的博客地址:https://caojiantao.gith原创 2020-12-20 16:37:30 · 225 阅读 · 0 评论 -
从入门到实践 —— Docker
Docker 介绍参考:为什么需要Docker?Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache2.0 协议开源。主要应用场景如下:环境隔离容器间环境相互独立,互不影响。类似于虚拟机,但相比于更轻量。Docker 各个容器共享一个操作系统内核,而每一个虚拟机都有一套完整的操作系统。整体部署可以将一整套环境构建为镜像,进行整体部署,避免线上线下开...原创 2020-03-17 10:39:56 · 189 阅读 · 0 评论 -
Request Response 重复读取
背景通常为了方便定位问题,我们需要记录接口的入参和出参。但由于 stream 不可重复读的特性,会导致无法预期的各种问题。Wrapper作为 request、response 的包装类,我们可以通过重写 getInputStream 和 getOutputStream 控制数据的流转,从而达到数据的可重复读取。HttpServletRequestWrapperpackage cn.cao...原创 2020-03-17 10:32:56 · 2246 阅读 · 1 评论 -
浅谈synchronized、wait、notify和notifyAll
一、概念解读synchronized:同步锁,可修饰类、方法、代码块;wait:使当前线程进入等待状态,直到锁定对象被唤醒(notify、notifyAll),然后当前线程进入就绪状态;可指定最大等待时间,自动唤醒;notify:唤醒当前对象上等待的单个线程;notifyAll:唤醒当前对象上等待的所有县城;二、sleep?很多面试题都会涉及到“sleep和wait的区别?”,开始可能都只原创 2017-10-20 21:21:10 · 1525 阅读 · 0 评论 -
一步一步完成SSM框架整合(Spring+Spring MVC + Mybatis)
新建maven工程eclipse中选择new Maven Project项,制定archetype为webapp,填写好groupId之类的,然后finish,这时可能工程有一些错误,通过修改Java Build Path,修复错误: 然后new一个server,将这个项目添加进去,修改server的context path为“/”,http端口设置为“80”,然后打开浏览器,访问“127.0.0原创 2017-06-14 21:03:52 · 1384 阅读 · 0 评论 -
闲聊cookie与session
Sessionsession是一种位于服务端,用于存储一个会话(指打开浏览器访问某个域名,及其下面的资源,然后关掉浏览器的过程)中所需的配置信息。也就是在一个会话中,只存在一个session。对于java web编程来说,session就是在request.getSession()创建的。同样,session也可以通过setMaxInactiveInterval()设置其生存时间。session的结原创 2017-02-28 17:48:18 · 500 阅读 · 0 评论 -
android事件分发教程(一):View
之前也写过类似的blog,今天回过头来重新理解了一下,觉得当时很多地方有问题,因此再写一篇,一是纠正自己对android事件分发这块的理解,二是想让更多还不是太了解这方面的人也能够掌握。所以本文用的都是最简单的案例,最有力的说明,来一步步阐述android事件分发机制。开始前简单介绍一下android事件分发吧:假如你的ListView中包含有RadioButton之类的,而且ListView还设置原创 2016-06-15 00:26:10 · 593 阅读 · 0 评论 -
初学Maven所报的各种错
Dynamic Web Module 3.0 requires Java 1.6 or newer在项目的pom.xml的标签中加入: <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId>原创 2016-06-03 17:46:59 · 642 阅读 · 0 评论 -
浅谈Java中的反射机制
一、什么是反射机制Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。二、实例分析案例实体类Person:class Person { private String name; private int age;原创 2016-04-06 17:30:50 · 744 阅读 · 0 评论 -
Spring整合MyBatis
转载请注明出处:引言Spring和MyBatis大概是干什么的这里就不展开介绍了,我也只是个小白,先大概入个门吧。如果对这些不是太清楚了可以参考我的前两篇水文《HelloSpring》、《MyBatis入门教程及基础进阶》。Spring很好地提供了对其他框架的集成支持,例如这里的MyBatis,这样会非常的方便我们对数据库进行操作,极大地简化了代码量。准备工作需要引入的jar包有: commons原创 2016-05-18 20:36:22 · 528 阅读 · 0 评论 -
Hello Spring
转载请注明出处:Spring简单介绍Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性的角度而言,绝大部分Java应用都可以从Spring中受益。 - 目的:解决企业应用开发的复杂性 - 功能:使用基本的JavaBean代替EJB,并提供了原创 2016-05-18 17:03:14 · 746 阅读 · 0 评论 -
Cookie、Session傻傻分不清楚
转载请注明出处:http://blog.youkuaiyun.com/qq_15002323/article/details/51201597Cookie是什么鬼额,作为一个java web小白,看到Cookie一脸懵逼有没有(⊙﹏⊙)。虽然英文差的不要不要的,但还是知道这是个能吃的曲奇吧。什么鬼?会话保持?客户端存储?最好不要让我弄懂了,要不然砍翻你,啊痛!~Cookie嘛,说简单点就是一种在客户端保存信息的原创 2016-04-22 14:57:29 · 1648 阅读 · 2 评论 -
MyBatis入门教程及基础进阶
转载请注明出处:http://blog.youkuaiyun.com/qq_15002323/article/details/51306354MyBatis简介MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。MyBatis 是支持原创 2016-05-03 17:31:26 · 3793 阅读 · 0 评论 -
Java经典小案例(不定时更新)
人类除了擅长颓废,做什么都不对1. 实现金字塔效果 import java.util.Scanner;/** * @author caojiantao-ext 根据输入的数目输出金字塔 */public class _01 { public static void main(String[] args) { System.out.print("请输入金原创 2016-03-18 10:37:25 · 28936 阅读 · 10 评论 -
Java Web防止表单重复提交
转载请注明出处: 注:本章内容基于struts2框架,action就相当于servlet哎,今天遇到这个问题快把我搞崩溃了咯,但是,注意只是快,并没有- -,感觉自己就像卡卡罗特一样啊,只要不把我拍死,我只会变得更强噢。场景重现上网最痛苦的事莫过于网速慢了,这个玩lol的自然懂~~~。打个粗糙的比方吧,一个登陆页面,你很急,但是网很卡,登了半天没卵用,你连点了几次登录①。你登录进去了,刷新了浏原创 2016-04-26 20:21:43 · 2512 阅读 · 0 评论