自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不因俊俏难为友,正为风流始读书

实践是最好的成长,发表是最好的回忆

  • 博客(235)
  • 资源 (4)
  • 收藏
  • 关注

原创 Mysql数据库B+树索引,聚集索引和非聚集索引

索引数据结构:二叉树:单边数据增长的情况数据查询会很慢红黑树(平衡二叉树):单边数据增长会做平衡处理,有自动平衡功能,左子树和右子树相差绝对值<=1,缺点:随着数据量增加树高越来越高,查询速度也越来越慢B树:基于平衡二叉树每个节点放多个元素,高度即变矮hash索引:对索引的key进行一个hash运算就可以定位到数据的存储位置,大多数时比B+树索引更快,仅能满足“=” “in”,不支持范围查找,hash冲突问题B+树:非叶子节点放索引(冗余索引,存放每一个磁盘页的第一个元素,为了构建B+树),叶子节点

2022-05-17 16:38:33 628

原创 对象创建过程

对象创建过程:判断有没有加载对象 分配内存空间。分配方式:指针碰撞,指针列表。遇到线程安全问题怎么办?CAS+失败重试,TLAB(本地线程分配缓冲) 初始化零值 设置对象头 执行init方法(属性赋值)Java对象布局对象头:对象自身的运行时数据( MarkWord )32位占4个字节,64位占8个字节:对象哈希码,GC分代年龄,是否偏向锁,锁标志位 Class Pointer类型指针: 数组长度实例数据 对象对齐填充(对象寻址最优的方式)指针压缩禁止指针压缩(默认开启):

2022-04-26 16:52:32 185

原创 Java类加载机制与JVM虚拟机内存模型

JVM虚拟机内存模型每个线程私有的区域:虚拟机栈,本地方法栈,程序计数器(PC寄存器) 程序计数器:程序正在运行或马上要运行代码的内存位置。内存位置:JVM汇编里每一行前面的数字 本地方法栈的本地方法:用c/c++实现的dll文件 一个user对象,方法区存放的是地址,堆区存放值 虚拟机栈里的局部变量表(slot槽,类似数组),存放程序里的局部变量 操作数栈:程序在运行过程中操作数(变量对应的值)做运算操作的一块临时中转存放空间 虚拟机栈:每一个方法从调用开始至执行完成的过程,都对应着一个栈

2022-04-25 18:14:53 275 1

原创 进程与线程

进程与线程进程是系统分配资源的基本单位,线程是调度cpu的基本单位,一个进程至少包含一个执行线程,线程寄生在进程之中。每个线程都有一个程序计数器(记录要执行的下一条指令),一组寄存器(保存当前线程的的工作变量),堆栈(记录执行历史,其中每一帧保存了一个已经调用但未返回的过程)线程分为两类用户级线程(ULT),cpu权限级别ring3普通用户可操作 内核级线程(KLT),cpu权限级别ring0才可操作用户空间划分内核空间,KLT系统核心跑在内核空间,ri...

2022-04-20 18:07:28 746

原创 ConcurrentHashMap

ConcurrentHashMap分段锁,大哈希表套小哈希表,减少竞争冲突 put操作时上锁,每次put时强制tryLock()加锁 Segment extends ReentrantLock(可重入锁,可以手动加锁和解锁),每个segment占一把锁

2022-04-20 11:57:22 199

原创 HashMap在JDK1.7和1.8里的区别是什么

HashMapget和put的时间复杂度为O(1) 为了解决hash冲突,HashMap引入了链表 计算数组下标并不是用取模,而是用位运算 hashcode&(length-1),位运算效率>取模,因为位运算是最接近于机器所能识别的运算 hashmap默认扩容因子0.75,最大容量2的30次方,初始容量2的4次方即16 默认初始容量16,如果自定义初始容量必须是2的指数幂,如果不是,则强行转换为大于这个数的2的最小指数幂。 为什么要转换成2的指数幂?减少哈希碰撞,为了.

2022-04-16 21:46:26 629

原创 jdk1.8和1.7主要区别

jdk1.8和1.7主要区别

2022-04-13 15:36:41 1888

原创 使用存储过程和for循环往mysql批量插入数据

使用存储过程和for循环往mysql批量插入数据

2022-04-12 20:59:26 1368

原创 常用sql优化方法,索引失效场景,explain执行计划

常用sql优化方法禁止使用select *,只查询出需要用到的字段 尽量减少表关联 合理使用索引 联合索引遵循最左前缀法 使用执行计划explain查看sql执行信息是否走索引 避免回表(覆盖索引) 分页查询优化索引失效场景...

2022-04-12 19:18:05 550

原创 HashMap 和 HashTable的区别?

HashMap 和 HashTable的区别

2022-04-12 18:15:39 938

原创 使用jQuery实现全选,反选

状态 用户名 赵 钱 孙 李 周 全选

2018-01-13 20:45:05 346

原创 jQuery九类选择器(三)

广东 湖南 湖北 //1)查找所有可用的input元素的个数 //alert( $("input:enabled").size() ); //2)查找所有不可用的input元素的个数 //alert( $("input:disabled").size() ); //3)查找所有选中的复选框元素的个数 /

2018-01-11 22:58:33 359

原创 Query九类选择器(二)

Option Button //1)查找所有input元素的个数 //alert( $("input").size() );//10,找input标签 //alert( $(":input").size() );//13,找input标签和select/textarea/button //2)查找所有文本框的个数 //ale

2018-01-11 22:56:25 373

原创 jQuery九类选择器(一)

test3 body { color: lightseagreen; text-align: center; } .myClass { font-size: 44px; color: blue } div1 div2 divClass

2018-01-11 22:51:51 250

原创 javascript对象对应的ajax对象

//js对象转为ajax对象var divVar=document.getElementById("butID");var ajaxDiv=$(divVar);alert(ajaxDiv.val());//ajax对象转为js对象var butV=$("#divID");var ele=butV.get(0);alert(ele.innerHTML);

2018-01-10 22:09:29 309

原创 使用ajax+json+struts实现省份下拉框二级联动

前台jsp页面My JSP 'provincecityarea.jsp' starting page 选择省份 河南 上海 杭州 选择城市 选择区域 <!-- 省份>城市 --> document.getElementById("provinceID").onchange = function()

2017-12-24 19:15:19 372

原创 json初识

My JSP 'MyJson.jsp' starting page var json = { id : 1, name : "ss", age : 25 }; var jsonArray = [ { id : 1, name : "ss", age : 25 }, { id : 2, name : "saa", age : 25 },

2017-12-24 14:27:02 242

原创 使用Ajax实现对验证码验证提示(struts+jsp+Ajax)

image.jsp:验证码图片生成<%! public Color getColor(){ Random random = new Random(); int r = random.nextInt(256);//0-255 int g = random.nextInt(256); int b = random.nextInt(256); return new Colo

2017-12-24 11:52:20 389

原创 使用Ajax实现登录验证

get提交方式:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=utf-8"%> My JSP 'loginAjax.jsp' starting page body { text-align: center

2017-12-22 21:24:09 5775 1

原创 登录表单JS静态验证

My JSP 'login3.jsp' starting page function checkForm(){var name=document.getElementById("username");var pwd=document.getElementById("pwd");if(name.value==''){document.getElementById("usernamet

2017-10-16 16:54:53 418

原创 DBCP与C3P0

public class MyDbcp { private Connection conn; private PreparedStatement ps; private ResultSet rs; public static void main(String[] args) { MyDbcp dbcp = new MyDbcp(); dbcp.testDbcp(); dbcp

2017-10-10 16:57:37 308

原创 获取数据自动插入列

//获取数据自动插入列public class getAutoIncrement { private Connection conn; private PreparedStatement ps; private ResultSet rs; public static void main(String[] args) throws SQLException { getAutoIncr

2017-10-07 09:46:08 311

原创 Jdbc通用连接类

public class DbUtil2 { private static String url = null; private static String user = null; private static String password = null; private static String driverClass = null; static { try { Pr

2017-09-30 23:31:25 331

原创 存储过程的使用

SHOW TABLES;SELECT *FROM USER;--CREATE TABLE emp(id INT PRIMARY KEY,NAME VARCHAR(10),pwd VARCHAR(10),deptname VARCHAR(10))DROP TABLE empSELECT * FROM emp;-- 创建存储过程(输入参数)INSERT INTO emp VA

2017-09-30 12:15:11 270

原创 线程插入

public class ThreadJoin { public static void main(String[] args) { Mum m = new Mum(); m.start(); }}class Mum extends Thread { public void run() { System.out.println("洗菜"); System.out.pri

2017-09-27 21:15:15 353

原创 守护线程

//只剩下一个线程,守护线程也消失//守护线程:有一个线程随主程序存在而存在,随主程序消失而消失public class ThreadDemo extends Thread { private String name; public ThreadDemo(String name) { super(); this.name = name; } public void run(

2017-09-27 21:07:34 232

原创 线程的停止

//线程停止/*线程的停止: 1. 停止一个线程 我们一般都会通过一个变量去控制的。 2. 如果需要停止一个处于等待状态下的线程,那么我们需要通过变量配合notify方法或者interrupt()来使用。*/public class ThreadDemo5 extends Thread { boolean flag = true; public ThreadDemo5(String

2017-09-27 20:22:09 248

原创 生产者与消费者问题

//产品类class Product { String name; double price; boolean flag = false;// 产品是否生产完毕的标识,默认情况是没有生产完成。}// 生产者class Producer extends Thread { Product p;// 产品 public Producer(Product p) { super()

2017-09-27 19:08:14 253

原创 线程安全问题(使用同步函数)

class SaleTicket2 extends Thread { static int num = 5000;// 票数,静态共享变量 static Object o = new Object();// 同步对象 public SaleTicket2(String name) { // 获取名字 super(name); } // 重写run方法 // 同步函数 pu

2017-09-26 22:52:10 268 1

原创 线程安全问题(使用同步代码块)

class SaleTicket extends Thread { static int num = 50;// 票数,静态共享变量 static Object o = new Object();// 同步对象 public SaleTicket(String name) { // 获取名字 super(name); } // 重写run方法 public void run

2017-09-26 20:50:26 309

原创 封装jdbc的crud操作

//封装crud操作public class BaseDao { private final static String driver = "oracle.jdbc.driver.OracleDriver"; private final static String url = "jdbc:oracle:thin:localhost:1521:orcl"; private final sta

2017-09-25 20:13:12 867

原创 jdbc处理事务

public class BankDao extends BaseDao { public static void main(String[] args) throws SQLException { BankDao bd = new BankDao(); bd.zz(); } private void zz() throws SQLException { // TODO Aut

2017-09-25 20:09:17 609

原创 用action执行方法

用dom4j解析xml标签,并将标签属性与文本内容添加进集合,创建方法,传入action查找对应的id,从何获取类路径与方法,利用反射执行方法FrameUtil.javapublic class FrameUtil { List list = new ArrayList(); public static void main(String[] args) throws Exce

2017-09-18 18:12:02 531

原创 使用dom4j解析xml标签,将标签属性与文本内容添加进集合

studentInfo.xml 崔卫兵 PC学院 62354666 男,1982年生,硕士,现就读于北京邮电大学 张洪泽 PC学院 62358888 男,1987年生,硕士,现就读于中国农业大学 映射Student..javapublic class Student { private String id; private

2017-09-18 18:06:34 1744

原创 操作jdbc利用集合和反射对数据表中的记录进行遍历

private static List test8(String tabname, String clname) throws Exception { Class cl = Class.forName(clname); Connection conn = getConnection(); String sql = "select *from " + tabname; Lis

2017-09-13 15:50:28 302

原创 反射获取类属性和方法的调用

package io.stream;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.lang.reflect.Modifier;public class ReflectTest { public static

2017-09-12 11:05:37 227

原创 字节数组流,文件流,数据流,转换流

public class Demo011 { public static void main(String[] args) { Demo011 de = new Demo011(); de.byteArrayInputStream();// 字节数组输入流 de.fileInputStream();// 文件输入流 de.fileInputStream2();// 文件输入流,读

2017-09-11 20:41:34 4756

原创 字符输出流,转换流,对象输入/输出流

private static void objectInputStream() { // TODO Auto-generated method stub try { FileInputStream fis=new FileInputStream("c:\\hello.txt"); ObjectInputStream ois=new ObjectInputStream(fis);

2017-09-11 19:21:54 362

原创 用字符流读取文件的几种方法

public class Demo2 { public static void main(String[] args) { //fileReader1();//创建字符数组,将文件字符流读入数组,用for each循环进行遍历输出 //fileReader2();//读取文件字符流挨个获取输出 //fileReader3();//创建字符数组把字符读进数组,获取长度添加进字符串缓冲区

2017-09-11 18:38:14 2102

原创 利用jdbc对数据表进行分页,操作存储过程(有参与无参,返回游标),函数等

select * from deptselect * from (select e.empno,e.ename,rownum r from (select empno,ename from emp order by empno) e where rownum>=20)where r<=30--无返回值的存储过程create or replace procedure proc_ins_dept

2017-09-07 21:04:02 489

银行管理系统(控制台版)

银行管理系统,控制台版,作为个人学习用

2017-08-26

struts 2.5

struts 2.5jar包

2017-06-08

萝莉快跑Cocos源码

萝莉快跑Cocos源码

2016-12-31

贪吃蛇Cocos源码

贪吃蛇Cocos源码

2016-12-31

空空如也

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

TA关注的人

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