- 浏览: 94148 次
- 性别:
- 来自: 北京
-
文章列表
ThreadPoolExecutor线程池参数详解
- 博客分类:
- 多线程
参考:https://www.cnblogs.com/waytobestcoder/p/5323130.html
https://www.cnblogs.com/bqcoder/p/6089101.html CountDownLatch
//单例线程池一
package ddd;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
public class T ...
面试经历中遇到的面试题-one
- 博客分类:
- 面试
整理记录一些面试要点以便将来用得到。
关于面试:首先认清无论你多优秀,在面试的时候都不能顾及到所有面试的内容,所以只能尽可能的去准备一些常问的面试点,也就是能拿的分要拿到。
Java基础 jsp servlet ajax json
容器has ...
一传统垂直mvc项目
垂直架构图:表示层->业务逻辑层->数据访问层->mysql(oracle/db)
通常mvc并不包括数据访问层,运行也比较简单,直接运行在一个tomcat等web容器中即可,适合小型项目。
垂直架构的缺点:
随着业务的不断发展,应用规模越来越大,问题越来越凸显,比如:
a.复杂应用的开发维护成本变高,部署效率逐渐降低,一个功能出问题,整个系统就得重新打包
b.团队协作效率变差,公共功能重复开发,代码重复率太高
c.系统可靠性变差,流量,负载均衡,数据库压力变大,因为在一个进程中,如果出现内存溢出等故障,将导致整个节点崩溃,然后集群中的其它节点也会如此
d ...
maximum number of expressions in a list is 1000
写一个sql的时候用到in关键字,sql报以上的错误, 是in的表达式中数据过多,不能超过1000条,此时可分开写 用 or in (1000条数据)
decode函数的用法
- 博客分类:
- oracle
decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)
【功能】根据条件返回相应值
【参数】c1, c2, ...,cn,字符型/数值型/日期型,必须类型相同或null
注:值1……n 不能为条件表达式,这种情况只能用case when then end解决
·含义 ...
case when 的用法
- 博客分类:
- oracle
case [<表达式>]
when <表达式条件值1> then <满足条件时返回值1>
[when <表达式条件值2> then <满足条件时返回值2>
……
[else <不满足上述条件时返回值>]]
end
【功能】当:<表达式>=<表达式条件值1……n> 时,返回对应 <满足条件时返回值1……n>
当<表达式条件值1……n>不为条件表达式时,与函数decode()相同,
decode(<表达式>,<表达式条件值1>,<满足条件时 ...
查出BZ_ORDER_INFO表中所含列的总数
select count(*) from user_tab_columns where table_name=UPPER('BZ_ORDER_INFO');
DESC TABLE 无效的sql
- 博客分类:
- oracle
oracle数据库中,为什么写了DESC 表名,执行以后是无效的SQL语句呢?
只有在命令行模式(比如sqlplus或者pl/sql的命令模式下)才能这么写,其他时候很少有命令模式,一般都是通过各种客户端连接的,这些客户端不是命令模式的,而是查询模式,这种情况下,非sql语句的命令是不好使的。
那怎么办?使用这个
select COLUMN_NAME,DATA_TYPE,DATA_LENGTH
from user_tab_cols where table_name='ORDER_INFO';
springmvc常用注解标签
- 博客分类:
- springmvc
声明文章转发自:https://www.cnblogs.com/leskang/p/5445698.html
1、@Controller
在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@Requ ...
springmvc工作原理
- 博客分类:
- springmvc
声明文章转发自:https://www.cnblogs.com/xiaoxi/p/6164383.html
springMVC的工作原理图:
SpringMVC流程
1、 用户发送请求至前端控制器DispatcherServlet。
2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。
3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
4、 DispatcherServlet调用HandlerAdapter处理器适配器 ...
Shell变量(二)
- 博客分类:
- shell
原文来自:http://www.runoob.com/linux/linux-shell-variable.html
本着学习的态度,边学边记录。
Shell变量
定义变量时,变量名不加美元符号($,PHP语言中变量需要),如:
your_name="runoob.com"
注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:
(1)命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
(2)中间不能有空格,可以使用下划线(_)。
(3)不能使用标点符号。
(4)不能使用bash里的关键字(可用help命令查看保 ...
Shell教程简介-(一)
- 博客分类:
- shell
本文来自:http://www.runoob.com/linux/linux-shell.html
Shell教程
Shell是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。Shell是指一种应用程序,这个应用程序提供了一个界面,用户通过 ...
发送线程与接收线程 速率一致
- 博客分类:
- 多线程
package com.jbx.xiezuo;
/**
* 采用信号量和同步方法使发送线程与接收线程同步运行。
*
* @author Administrator
* value是共享变量,put()和get()方法都要对value进行操作。由于put()和get()方法针对同一个数据进行相反操作;
* 当value为空时,put()方法可以赋值而get()方法不可以赋值,必须等待;
* 反之,当value不为空时,get()方法可以取值,而put()方法不可以赋值,必须等待。
* 因此,pu ...
解决线程同步问题的思路
- 博客分类:
- 多线程
线程同步机制
操作系统中实现线程同步有一种工具称为信号量和PV操作,它的指导思想源于采用多种颜色信号灯管理交通的方法,描述如下:
(1)背景
多个线程需要对同一个共享变量进行操作,所以多个线程间必须互斥地执行,即这些操作方法必须是互斥的。
(2)设置信号量
为这个共享变量约定一个信号量(semaphore),设置信号量有多种状态,就像交通信号灯有多种颜色一样。信号量状态的设置有多种方式,既可以有两种状态,也可以有多种状态。两种状态用一个布尔值即可表示,true表示可执行,false表示不可执行,就像“红灯停,绿灯行”。多种状态表示一种轮流执行方式,如 ...
线程间的协作关系与线程同步
- 博客分类:
- 多线程
1.线程间的协作关系
当一个进程中的多个线程为完成同一任务而分工协作时,它们彼此之间有联系,知道其他线程的存在,而且受其他线程执行的影响。这些线程间存在协作关系,这是线程间的直接制约关系。由于合作的每一个线程都是独立地以不可预知的速度推进,这就需要相互协作的线程在某些协调点上协调各自的工作。当合作线程中的一个到达协调点后,在尚未得到其伙伴线程发来的信号之前应阻塞自己,直到其他合作线程发来协调信号后方被唤醒并继续执行。这种协作线程之间相互等待对方消息或信号的协调关系称为线程同步。
例如:发送线程和接收线程。
本例演示传送数据的两个线程之间存在的协作关系,演示在没有实现线程同步 ...