03 2020 档案
摘要:原题点这里 直接暴力模拟 6ms public static String getOne(int num,int e){ String ans = null; switch (num){ case 0: ans= ""; break; case 1: ans= "I";break; case 2:
阅读全文
摘要:简单的一个包含注册、登录、购物车的书城项目。放到github中。项目来自于谷粒学院。
阅读全文
摘要:在这里设置: 我这里设置好了之后,导出的文件 <?xml version="1.0" encoding="UTF-8" standalone="no"?><templates><template autoinsert="true" context="gettercomment_context" de
阅读全文
摘要:原题 暴力法: public static int maxArea(int[] height) { int n = height.length; int ans = 0; for(int i=0;i<n-1;i++){ for(int j=i+1;j<n;j++) { int len = j-i;
阅读全文
摘要:原题 转成字符串,然后简单的判断一下。这里我自己转换要20ms,用库函数只需要11ms。只贴库函数转换的代码。 public static boolean isPalindrome(int x) { if(x<0) return false; String ans = String.valueOf(
阅读全文
摘要:原题 这个题很简单的.最开始的想法是trim一下去掉开头的空格.然后放到字符串中,转成整数. public static int myAtoi(String str) { StringBuilder res = new StringBuilder(""); StringBuilder str2 =
阅读全文
摘要:1 不带回调的调起和返回 调起 //获取Intent Intent intent = new Intent(this,Main2Activity.class); //获取输入框中的数据 String par = et_par.getText().toString(); //把参数放到inten里面传
阅读全文
摘要:Intent: 意图 Intent(Context packageContext, Class<?> cls) : 用于创建显示意图对象 Intent(String action): 用于创建隐式意图对象 putExtra(String name, Xxx value): 保存额外数据 Xxx ge
阅读全文
摘要:HttpServletResponse 类和 HttpServletRequest 类一样。每次请求进来,Tomcat 服务器都会创建一个 Response 对象传递给 Servlet 程序去使用。HttpServletRequest 表示请求过来的信息,HttpServletResponse 表示
阅读全文
摘要:请求转发是指,服务器收到请求后,从一次资源跳转到另一个资源的操作叫请求转发。 servlet 1: // 获取请求的参数(办事的材料)查看 String username = req.getParameter("username"); System.out.println("在 Servlet1(柜
阅读全文
摘要:方法一: // 获取请求参数 String username = req.getParameter("username"); //1 先以 iso8859-1 进行编码 //2 再以 utf-8 进行解码 username = new String(username.getBytes("iso-88
阅读全文
摘要:如何获取请求参数 <body> <form action="http://localhost:8080/07_servlet/parameterServlet" method="get"> 用户名:<input type="text" name="username"><br/> 密码:<input
阅读全文
摘要:a)HttpServletRequest 类有什么作用。 每次只要有请求进入 Tomcat 服务器,Tomcat 服务器就会把请求过来的 HTTP 协议信息解析好封装到 Request 对象中。然后传递到 service 方法(doGet 和 doPost)中给我 们使用。我们可以通过 HttpSe
阅读全文
摘要:MIME 是 HTTP 协议中数据类型。MIME 的英文全称是"Multipurpose Internet Mail Extensions" 多功能 Internet 邮件扩充服务。MIME 类型的格式是“大类型/小类型”,并与某一种文件的扩展名相对应。
阅读全文
摘要:整数反转 解法1 if(x==0) return x; StringBuilder res=new StringBuilder(); if(x<0){ res.append('-'); x = Math.abs(x); } while (x>0){ int a = x%10; res.append(
阅读全文
摘要:在web.xml中的配置: <!--servlet-class 是 Servlet 程序的全类名 --> <servlet-class>com.atguigu.servlet.HelloServlet</servlet-class> <!--init-param 是初始化参数 --> <init-p
阅读全文
摘要:我们编辑这个文件可以对grub菜单引导进行修改 sudo gedit /etc/default/grub 这样的设置可以开启高级选项,等待时间为6秒,并且设置默认选择ubuntu系统, GRUB_DEFAULT=0 #GRUB_TIMEOUT_STYLE=hidden GRUB_TIMEOUT=6
阅读全文
摘要:我们可以实现 Servlet接口: package com.LearnJAVA.Serverlet; import java.io.IOException; import javax.servlet.Servlet; import javax.servlet.ServletConfig; impor
阅读全文
摘要:线程池提供了一个线程队列,队列中保存着所有等待状态的线程.避免了频繁的创建和销毁线程池,提高了响应速度 java.util.concurrent.Executor: 负责线程池的使用和调度的根接口 | ExecutorService 子接口:线程池的主要接口 | ThredPoolExecutor
阅读全文
摘要:synchronized 锁,对于非静态方法,默认为this,对于静态方法,默认为 该类的运行时类实例. class Number { public synchronized void getOne(){ System.out.println("one"); } public synchronize
阅读全文
摘要:应用示例 class Demo{ int number; ReentrantReadWriteLock lock = new ReentrantReadWriteLock(); public void read(){ //读锁 lock.readLock().lock(); try { System
阅读全文
摘要:class demo{ private ReentrantLock lock =new ReentrantLock(); private Condition cb = lock.newCondition(); private Condition cc = lock.newCondition(); p
阅读全文
摘要:JAVA多线程的形式比较独特,用的还是少了... class Clerk{ private int product; private ReentrantLock lock = new ReentrantLock(); private Condition con = lock.newCondition
阅读全文
摘要:闭锁示例 class count implements Runnable{ private CountDownLatch cdl; count(CountDownLatch cdl){ this.cdl=cdl; } @Override public void run() { synchronize
阅读全文
摘要:volatitle声明的变量不具备原子性.即,当执行++ --这样的操作时,由于不是原子操作,所以还存在线程安全问题. i = 10; i = i++; i=? ==>10 //解释: tmp=i i=i++ i=tmp class atoT implements Runnable{ private
阅读全文
摘要:1 内存可见性问题 class flagTest implements Runnable{ private boolean flag = false; @Override public void run() { try { Thread.sleep(1000); } catch (Interrupt
阅读全文
摘要:将一个字符串做z字形转换 很容易想到暴力求解. 这里要注意的是, 静态方法不能新建内部类实例. class zigC implements Comparable<zigC>{ public zigC(char c, int row, int col) { this.c = c; this.row =
阅读全文
摘要:求一个字符串的最长回文子串 我发现letcode好像不限制执行时间? 这个题有个技巧:在每个字符两边添加一个无关字符: aba -> *a*b*a*; abba->*a*b*b*a* .这样就会得到一个恒为奇数串的字符串. 然后有两种解法: 1) 以每个字符为中心,向两边最大扩展 O(n^2) in
阅读全文
摘要:preparedStatement和statement 的异同 preparedStatement是Statement的子接口. 它对sql语句进行预编译,可以避免Statement中的sql注入问题,而且在批量操作的时候,效率更高.
阅读全文
摘要:1.1 Apache DBUtils简介 commons dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。 API介绍: org.apache.common
阅读全文
摘要:1.1 JDBC数据库连接池的必要性 在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤: 在主程序(如servlet、beans)中建立数据库连接 进行sql操作 断开数据库连接 这种模式开发,存在的问题: 普通的JDBC数据库连接使用 DriverManager 来获取,每次向数据库
阅读全文
摘要:数据库事务 1.1 数据库事务介绍 事务:一组逻辑操作单元,使数据从一种状态变换到另一种状态。 事务处理(事务操作): 保证所有事务都作为一个工作单元来执行,即使出现了故障,都不能改变这种执行方式。当在一个事务中执行多个操作时,要么所有的事务都 被提交(commit) ,那么这些修改就永久地保存下来
阅读全文
摘要:批量操作,可以使用批量操作,和手动提交实务增加速度 批量操作和手动提交 //设置不允许自动提交数据 conn.setAutoCommit(false); String sql = "insert into goods(name)values(?)"; ps = conn.prepareStateme
阅读全文
摘要:可以使用prepareStatement操作blob数据(二进制数据) 插入数据库 FileInputStream fis = new FileInputStream("a.jpg"); ps.setBlob(4,fis); 读取blob Blob photo = rs.getBlob("photo
阅读全文
摘要:所谓动态查询,就是查询的时候,不确定查询的列数,也不确定查询的哪几个列. 通过反射可以完成这个操作: 我们在构造sql语句的时候,动态传入条件.在结果集中,通过获取结果集的列名,来进行赋值. * 针对于表的字段名与类的属性名不相同的情况: * 1. 必须声明sql时,使用类的属性名来命名字段的别名
阅读全文
摘要:查询数据,返回一个结果集. String sql = "select id,name,email,birth from customers where id = ?"; ps = connection.prepareStatement(sql); ps.setObject(1,1); ResultS
阅读全文
摘要:在连接的url中声明编码格式: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
阅读全文
摘要:我们使用prepareStatement来操作数据库,可以防止sql注入,并且无需拼接sql语句. 核心代码: String sql = "insert into customers(name,email,birth)values(?,?,?)"; ps = connection.prepareSt
阅读全文