`
文章列表
 http://localhost:8080/webDemo1/TestServlet?aaa=2&bbb=1,通过请求,我们可以获得相应的请求参数。注意,这个set集合的key是sting类型的,但是value是String类型的数组。 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Map<String, String[]> map = request.getParameterMa ...
   丢失更新: 当两个事物或多个事务都更新了同一条数据,但是这些事务彼此之间都不知道其他事务进行的修改,因此第二个更改覆盖了第一次的更改,说白了,就是事务A还没有提交之后,但是这个时候事务B更新了数据,那么事务A就丢失更新了。   解决方案: 乐观锁+悲观锁     悲观锁: 数据库的一种锁机制,悲观锁分成两种,分别是共享锁和排它锁     添加共享锁方式:select * from account lock in share mode ;    添加排它锁方式:select * from account for update;         下面说一下共享锁: 共享锁就是,例 ...
1 事务的4个特性 (必回,面试必考)       ① 原子性:原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。       ② 一致性: 事务前后数据的完整性必须保持一致       ③ 隔离性 ...
   首先将一下,如果你的mysql密码忘记了,那么通过下面的方式进行重置密码   1.停止mysql服务: services.msc 进入到服务界面 2.在cmd>输入一个命令: mysqld --skip-grant-tables (开启一个mysql服务,不需要进行认证.) 3.新打开一个cmd窗口 mysql -u root -p 不需要输入密码.就可以进入. 4.输入命令 show databases;查看数据库,输入命令 use mysql;使用mysql数据库。 5.修改密码 ...

自定义标签

1  创建没有标签体的标签   1  首先创建一个jva类,去继承SimpleTagSupport,下面我们说一下SimpleTagSupport 中的方法的作用             * void setJspContext(JspContext pc)  这个方法中的参数就是pageContext的父类,这个方法是由服务器最先被调用的,然后我们得到我们的PageContext对象,也就是可以得到所有的web元素,根据需求,重写相应的方法。            * void setParent(JspTag parent)  设置父标签            * void setJs ...
1  jsp页面的三大指令   ① pege指令 (重点)        常用的        pageEncoding和contentType,其中 pageEncoding 是设置jsp页面的编码,给服务器看,然后服务器编译成正确的编码,contentType 和 response.setContentType的方法相同, 它的作用 1 就是完成相应字符流的编码,2 设置响应头,(其实设置了这个之后,也就是在jsp被编译成servlet之后,会加上response.setContentType(“text/html;charset=utf-8”)), 在jsp页面中如果设置了一个,例如我给p ...
1  通过servlet保证不乱码     ① 首先设置response 字符缓冲区的编码  response.setCharacterEncoding("UTF-8");      ② 然后设置浏览器打开文件的编码,也就是设置响应头  response.setHeader("Content-Type", "text/html;charset=U ...
public class Demo1 { public static void main(String[] args) { int[] array = {23,5,2,53,44}; selectSort(array); } //这个方法是冒泡排序 public static void sort(int []a){ int temp = 0; for(int j=0;j<a.length;j++){ for(int k=0;k<a.length-j-1;k++){ if(a[k]>a[k+1]){ ...

快速排序

    非原创博客,原创地址:http://www.iteye.com/topic/1116214   快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。 总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快速排序,快速搞定。   快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。 ...

插入排序

  public class Demo3 { private int[]array; public void sort(){ int length = array.length; if(length>0){ for(int i=1;i<length;i++){ int temp = array[i]; int j = i; for(;j>0&&array[j-1]>temp;j--){ array[j] = array[j-1]; } array[ ...
  通过下面的factory可以很好的理解工厂设计模式

TCP 和 UDP

  udp:   面向无连接。   不可靠。   速度快。   将数据封包传输,数据包最大64k。   举例:   聊天留言,在线视频,视频会议,发短信,邮局包裹。   tcp:   面向连接。  
/* * TCP协议发送数据: * A:创建发送端的Socket对象 * 这一步如果成功,就说明连接已经建立成功了。 * B:获取输出流,写数据 * C:释放资源 * * 连接被拒绝。TCP协议一定要先看服务器。 * java.net.ConnectException: Connection refused: connect */ public class ClientDemo { public static void main(String[] args) throws IOException { // 创建发送端的Socket对象 ...
public class SendDemo { public static void main(String[] args) throws IOException { // 创建发送端Socket对象 DatagramSocket datagramSocket = new DatagramSocket(); // 创建数据,并把数据打包 byte[] bytes = "Hello udp".getBytes(); InetAddress inetAddress = InetAddress.getByName("19 ...
1:多线程有几种实现方案,分别是哪几种?    两种。        继承Thread类    实现Runnable接口        扩展一种:实现Callable接口。这个得和线程池结合。2:同步有几种方式,分别是什么?    两种。        同步代码块    同步方法(根据方法不同,锁也不同,静态用本类的.class充当锁,非静态用this)3:启动一个线程是run()还是start()?它们的区别?    start();        run():封装了被线程执行的代码,直接调用仅仅是普通方法的调用    start():启动线程,并由JVM自动调用run()方法4:sleep( ...
Global site tag (gtag.js) - Google Analytics