- 博客(128)
- 资源 (1)
- 收藏
- 关注
Oracle查询某字段在哪些表中有
在网上查的sql语句一般都是: select TABLE_NAME from user_tab_columns where COLUMN_NAME='CNAME' 可是在user_tab_columns表中查询某字段在哪些表中出现过的时候,会把视图也查出来,还会查出一个莫名其妙的一串字符,与需求不符, 之后又认识了另一个表:user_tables,这个表能够查询出...
2017-10-23 08:55:29 16004
Java 实现线程间通信
正常情况下,每个子线程完成各自的任务就可以结束了。不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了。 本文涉及到的知识点:thread.join(), object.wait(), object.notify(), CountdownLatch, CyclicBarrier, FutureTask, Callable 等。 下面我从几个...
2017-10-14 14:47:20 323
J2SE与Tomcat的类加载器
类加载器是一切Java应用的基础,在JVM中提供了3个类加载器,他们以一种父子树的方式创建,同时使用委派模式确保应用程序可通过自身的类加载器(System)加载所有可见的Java类。 委派模式过程如下: 1、从缓存中加载 2、如果缓存中没有,则从父类加载器中加载 3、如果父类加载没有,则从当前类加载器加载 4、如果没有,则抛异常 ...
2017-09-27 20:48:19 342
tomcat中的BIO应用——JIoEndpoint
一、BIO基础 BIO即阻塞式I/O,是Java提供的最基本的IO方式,在网络通信中,需要通过Socket在客户端与服务端建立双向链接以实现通信,其主要步骤如下: 1、服务端监听某个端口是否有链接请求。 2、客户端向服务端发出链接请求。 3、服务端向客户端返回Accept接受消息,此时链接成功。 4、客户端和服务端通过Send(), Write...
2017-09-23 20:49:35 775
JDK中ExecutorService,Callable,Future对线程的支持
1、代码背景: 假如有Thread1、Thread2、Thread3、Thread4四条线程分别统计C、D、E、F四个盘的大小,所有线程都统计完毕交给Thread5线程去做汇总,应当如何实现?2、代码: 统计“盘子”大小的代码,此处实现jdk中的Callable接口,package com.wang.test.concurrent;import java.ut...
2017-09-20 10:12:40 241
java序列化与ObjectOutputStream和ObjectInputStream
一个测试的实体类:public class Param implements Serializable { private static final long serialVersionUID = 5187074869820982336L; private Integer param1; private String param2; public Inte...
2017-09-18 15:44:52 189
java中的PropertyChangeSupport与PropertyChangeListener
java中的PropertyChangeSupport与PropertyChangeListener配合使用能够实现,绑定属性会在属性值发生变化时,通知所有相关的监听器。javaBean:package com.wang.test.property;import java.beans.PropertyChangeListener;import java.beans.Prope...
2017-09-01 21:30:17 738
linux 安装mysql
linux 安装mysql,按下面的步骤顺序执行即可:1、查看系统中是否已经自带mysql数据库:rpm -qa | grep mysql 2、普通删除模式:rpm -e mysql (强力删除模式:rpm -e --nodeps mysql) 3、yum命令进行mysql的安装查看yum上提供的mysql信息:yum list | grep mysql安装:yum ...
2017-04-11 16:20:27 114
hadoop格式化HDFS报错java.net.UnknownHostException
报错信息: host:java.net.UnknownHostException: centos-wang: centos-wang: unknown error 在执行hadoop namenode -format命令时,出现未知的主机名。 问题原因: 出现这种问题的原因是Hadoop在格式化HDFS的时候,通过hostname命令获取到的主机名与/etc/...
2017-04-10 16:08:18 1463
Gson第四讲
本次文章的主要内容:TypeAdapterJsonSerializer与JsonDeserializerTypeAdapterFactory@JsonAdapter注解TypeAdapter与 JsonSerializer、JsonDeserializer对比TypeAdapter实例结语后期预告一、TypeAdapterTypeAdapter 是Gs...
2017-03-21 21:46:41 342
Gson第三讲
本次的主要内容:字段过滤的几种方法基于@Expose注解基于版本基于访问修饰符基于策略(作者最常用)POJO与JSON的字段映射规则一、字段过滤的几种方法字段过滤Gson中比较常用的技巧,特别是在Android中,在处理业务逻辑时可能需要在设置的POJO中加入一些字段,但显然在序列化的过程中是不需要的,并且如果序列化还可能带来一个问题就是 循环引用 ...
2017-03-21 21:44:12 146
Gson第二讲
本次的主要内容:Gson的流式反序列化Gson的流式序列化使用GsonBuilder导出null值、格式化输出、日期时间及其它小功能一、Gson的流式反序列化自动方式Gson提供了fromJson()和toJson() 两个直接用于解析和生成的方法,前者实现反序列化,后者实现了序列化。同时每个方法都提供了重载方法,我常用的总共有5个。这是我在上一篇文章开头...
2017-03-21 21:42:58 119
Gson第一讲
本篇文章的主要内容:Gson的基本用法属性重命名 @SerializedName 注解的使用Gson中使用泛型一、Gson的基本用法Gson提供了fromJson() 和toJson() 两个直接用于解析和生成的方法,前者实现反序列化,后者实现了序列化。同时每个方法都提供了重载方法,我常用的总共有5个。基本数据类型的解析Gson gson = new Gson()...
2017-03-21 21:40:53 141
java线程池学习总结
为什么要用线程池?诸如 Web 服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务。请求以某种方式到达服务器,这种方式可能是通过网络协议(例如 HTTP、FTP 或 POP)、通过 JMS 队列或者可能通过轮询数据库。不管请求如何到达,服务器应用程序中经常出现的情况是:单个任务处理的时间很短而请求的数目却是巨大的。构建服务器应用...
2017-02-21 10:23:52 149
solr6.2从环境部署到与mysql整合到中文分词器到solrJ的使用
solr就不多介绍了。是用于搜索功能的开源工具,很强大 一、solr环境部署solr本身能够用jetty启动,但是还是用tomcat启动比较适合我自己。学习solr有两个星期了,到现在(2016.11.27)solr最新版已经是6.3.0了,不过没关系,基本的东西都是一样的。1、solr官网: http://lucene.apache.org/solr/下载后解压,是这样的目...
2016-11-27 11:11:31 236
谈谈网站架构的缓存
缓存就是将数据存放在距离计算最近的位置以加快处理速度。缓存是改善软件性能的第一手段,现代cpu越来越快的一个重要因素就是使用了更多的缓存,在复杂的软件设计中,缓存几乎无处不在。大型网站架构设计在很多方面都是用了缓存设计。 1、CDN。即内容分发网络,部署在距离终端用户最近的网络服务商,用户的网络请求总是先到达他的网络服务商哪里,在这里缓存网站的一些静态资源,可以就近以最...
2016-11-20 13:53:49 194
网站性能优化的措施
网站性能优化的措施根据网站分层架构,可分为web前端性能优化、应用服务器性能优化、存储服务器性能优化3大类。 一、web前端性能优化 1、浏览器访问优化。如,减少http请求、使用浏览器缓存、启用压缩、css放在页面最上面JavaScript放在页面最下面、减少cookie传输等。 2、CDN加速。CDN(内容分发网络)的本质仍然是缓存...
2016-11-20 13:24:56 228
MySQL用逗号连接列
1、表结构:create table tableName( `ID` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID', `name` varchar(20) NOT NULL AUTO_INCREMENT COMMENT 'name',) 2、插入例子数据:insert into tableName values(1, 'on...
2016-10-17 20:54:48 2071
持续总结——coding注意事项
2016.10.12: 在jsp、ftl等文件中引入js、css、img等资源文件时,要注意应用文件的路径的大小写,在window中,大小写不敏感,不会出现错误,可项目在linux上上线后,就失灵了,因为linux大小写敏感 2016.10.16: input text 输入框,让用户输入时,要考虑文本长度与是否可以有特殊字符,当文本超长时,在页面其...
2016-10-12 21:07:35 160
Could not find artifact ... and 'parent.relativePath' points at wrong local POM
在开始新的多个模块的项目时,其中的parent项目要先install一回,之后其他子项目才可以运行其他的maven命令,否则就会报如标题所述错误。
2016-10-11 19:56:57 3968
Python——将字符串转换为日期
Python中标准模块datetime能够将字符串转换为日期from datetime import datetimetext = '2012-09-20'y = datetime.strptime(text, '%Y-%m-%d')print(y)z = datetime.now()diff = z - yprint(diff) 按特定格式输出nice_...
2016-08-31 19:23:37 4424
JAVA中方法参数的引用传递
“当一个对象被当作参数传递到一个方法”,这就是所谓的按引用传递。 public class User { private String name; public String getName() { return name; } public void setName(String name) { ...
2016-08-31 14:10:27 350
python——计算上周5的日期
第一种方法:from datetime import datetime, timedeltaweekdays = ['Monday','Tuesday','Wednesday','Thursday', 'Friday','Saturday','Sunday']def get_previous_byday(dayname, start_date=None):...
2016-08-30 20:28:09 1332
Python——时间换算
利用datetime模块进行不同时间单位的换算from datetime import timedeltaa = timedelta(days=2, hours=6)b = timedelta(hours=4.5)c = a + bprint(c.days)print(c.seconds)print(c.seconds / 3600) 表示特定的日期和时间...
2016-08-30 19:53:29 820
PythonCookbook——数据结构和算法
PythonCookbook学习笔记 第一章 数据结构和算法 1.1 将序列分解为单独的变量p = (4, 5)x, y = pprint x print y data = [ 'ACME', 50, 91.1, (2012, 12, 21) ]name, shares, price, date = dataprint namepr...
2016-07-24 16:54:27 695
tomcat系统架构简介
tomcat有两个核心组件,即connector与container,一个container可以选择对应多个connector,container与connector共同组成了service,tomcat就是由service对外提供服务的,service的生存环境也就是server了,如下图: 下面简单介绍一下这几个东东。。。 1) connector主要负责对外交流,接收...
2016-07-16 14:25:38 169
js以post方式打开一个新的web页面
/** * 以post方式打开另一个新页面 add Hejiawang by 2016.07.07 */ function postOpenWindow(URL, PARAMS) { var temp_form = document.createElement("form"); temp_form .action = URL; temp_for...
2016-07-07 11:26:02 2802
js秒转换成天时分秒
function timeStamp( second_time ){var time = parseInt(second_time) + "秒";if( parseInt(second_time )> 60){ var second = parseInt(second_time) % 60; var min = parseInt(second_time / 60);...
2016-06-22 19:48:39 3433
Redis学习总结
1、什么是Redis Redis是一种远程内存数据库,是一个速度非常快速的非关系型数据库,它可以存储键与5种不同类型的值之间的映射,可以将存储在内存的键值对数据持久化到硬盘,可以使用复制特性来扩展读性能,还可以使用客户端分片来扩展写性能。 2、与memcached的比较 高性能键值缓存服务器memcached经常被拿来与redis进行比较:这两者都可以...
2016-06-02 19:47:22 105
Linux软件安装,源码与Tarball学习总结
1、源码其实大多是纯文本文件,需要通过编译程序的编译操作后才能够制作出Linux系统能够识别的可执行的二进制文件2、开放源码可以加速软件的更新速度,让软件性能更快、漏洞修补更实时3、在Linux系统当中,最标准的C语言编译程序为gcc4、在编译的过程中,可以通过其他软件提供的函数库来使用该软件的相关机制与功能5、为了简化编译过程当中的复杂的命令输入,可以通过make与makefi...
2016-05-21 11:35:25 1296
Linux系统设置工具与硬件检测学习总结
1、CentOS提供了好用的setup功能,可以帮忙设置认证方式、防火墙、键盘格式、网络、系统默认启动服务、时区、x分辨率与硬件配置等2、因特网就是tcp/ip,一般常见的取得IP的方式有手动直接设置、自动获取、拨号取得与cable宽带等方式3、主机的网络设置要成功,必须要有下面的数据:IP, Netmask, gateway, DNS服务器等项目4、DNS服务器IP的指...
2016-05-19 21:16:12 147
Linux启动流程、模块管理与Loader学习总结
1、Linux不可随意关机,否则容易造成文件系统错乱或者是其他无法启动的问题2、启动流程主要是BIOS、MBR、Loader、kernel+initrd、/sbin/init等流程3、loader具有提供菜单、加载内核文件、转交控制权给其他Loader等功能4、boot loader可以安装在MBR或者是每个分区的bootsector区域中5、initrd可以提供内核在启动过程中...
2016-05-19 19:51:37 170
Linux认识与分析日志文件
1、日志文件可以记录一个事件的何时何地何人何事四大信息,故系统有问题时务必查询日志文件2、系统的日志文件默认都集中放置到/var/log目录中,其中又以message记录的信息最多3、日志文件记录的主要服务与程序为syslogd, klogd, log4、syslogd的配置文件在/etc/syslog.conf中,内容语法为:服务.等级记载设备或文件5、syslogd本身有...
2016-05-17 19:56:30 150
Linux主机是怎么开机的???
Linux主机是怎么开机的??? 1、打开计算机电源,开始读取BIOS并进行主机的自我测试2、通过BIOS取得第一个可开机设备,读取主要开机区(MBR)取得启动装载程序3、通过启动装载程序的设置,取得kernel并加载内存且检测系统硬件4、内核主动调用init进程5、init进程开始执行系统初始化(/etc/rc.d/rc.sysinit)6、依据init的设置...
2016-05-16 21:16:30 226
Linux认识系统服务学习总结
1、服务(daemon)主要可以分为stand alone(服务可单独启动)以及super daemon(通过xinetd统一管理的服务)两种2、super daemon由于是经过一个统一的xinetd来管理,因此可以具有类似防火墙管理功能,此外,管理的链接机制又可以分为multi-threaded以及single-threaded(多线程,单线程)3、启动daemon的进程通常最末会加...
2016-05-16 21:12:54 193
Linux程序管理与SELinux初探学习总结
1、程序(program):通常为二进制程序,放置在存储媒介中,以物理文件的形式保存2、进程(process):程序被出发后,执行者的权限与属性、程序的程序代码与所需数据等都会被加载到内存中,操作系统并给予这个内存的单元一个标识符(PID),可以说,进程就是一个正在运行中的程序3、进程彼此之间是有相关性的,故有父进程与子进程之分,而Linux系统所有进程的父进程就是init这个PID为1...
2016-05-15 19:50:23 168
Linux例行性工作学习总结
1、系统可以通过at这个命令来调度单一工作的任务, “at time” 为命令执行的方法,当at进入调度后,系统执行该调度工作时,会到执行时的目录进行任务2、at的执行必须要有atd服务的支持,且/etc/at.deny为控制是否能够执行的用户账号3、通过atq,atrm可以查询与删除at的工作调度4、batch与at相同,不过batch可以在cpu工作负载小于0.8时才...
2016-05-14 18:13:54 204
Linux磁盘配额与高级文件系统管理学习总结
1、磁盘配额(Quota)可公平分配系统上面的磁盘空间给用户,分配的资源可以是磁盘容量(block)或可新建文件数量(inode)2、Quota的限制可以有soft,hard,gracetime等重要选项3、Quota仅能针对整个文件系统进行限制,不是针对目录4、Quota的使用必须要内核与文件系统均支持,文件系统的参数必须含有usrquota,grpquota5、Quota实践...
2016-05-14 12:17:45 316
Linux账号管理与ACL权限设置学习总结
1、Linux操作系统上,关于账号与用户组,其实记录的是UID/GID的数字而已2、用户账号/用户组与UID/GID的对应,参考/etc/passwd及/etc/group两个文件3、/etc/passwd文件结构以冒号隔开,共分为七个字段,分别是账号名称,密码,UID,GID,全名,主文件夹,shell4、UID只有0与非0两种,非0则为一般账号,一般账号又分为系统账号(1-499...
2016-05-10 20:36:13 411
Linux学习Shell Script总结
1、Shell script是利用shell的功能所写的一个“程序”,这个程序是使用纯文本文件,将一些shell的语法与命令写在里面,搭配正则表达式、管道命令与数据流重定向等功能,以达到我们所想要的处理目的2、shell script用在系统管理上面是很好的一项工具,但是用在处理大量数值运算上就不够好了,因为shell script的速度较慢,且使用的cpu资源较多,造成主机资源的分配不良。...
2016-05-07 07:49:46 642
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人