`
diecui1202
  • 浏览: 96817 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表

QueryDSL学习笔记

    博客分类:
  • Java
最近部门同事在开发统一数据服务层,了解到其底层使用到了QueryDSL,于是花了几个小时在网上看了一下资料,写了一个小例子,供大家参考; QueryDSL介绍 QueryDSL仅仅是一个通用的查询框架,专注于通过Java API构建类型安全的SQL查询。 Querydsl可以通过一组通用的查询API为用户构建出适合不同类型ORM框架或者是SQL的查询语句,也就是说QueryDSL是基于各种ORM框架以及SQL之上的一个通用的查询框架。 借助QueryDSL可以在任何支持的ORM框架或者SQL平台上以一种通用的API方式来构建查询。目前QueryDSL支持的平台包括JPA,JDO,SQL ...

2011回顾

    博客分类:
  • dzh
以前没有习惯去做总结,但是今年的今天,着实想写点什么,因为2011,于我来说,是非常重要的一年! 一、家庭 首先,今年3.10,我们在老家办喜酒,我们结婚了! 其实领证是在2010.6.1,但对两边的爸爸妈妈来说, ...
本文已在黄金档上发表,原文链接:http://www.goldendoc.org/2011/11/jvm-thread/ 两个问题 什么是守护线程?守护线程与非守护线程有什么区别?其应用场景有哪些? 一个简单的Java程序,启动后JVM创建了哪些线程,它们的作用是什么? 熟悉上面两个问题的同学可以绕过了,不太熟的同学可以继续往下看,哈哈! 守护线程 守护线程,又叫Daemon线程,它有以下几个特点: 守护线程通常由虚拟机自己使用,比如垃圾收集器的线程; Java程序可以把它任何创建的线程标记为守护线程;但必须在线程运行前设置; Java初始线程(即开始于main方法 ...
  开放平台这个话题其实很大,涉及到多方面,比如平台搭建、安全、流量控制与计费、服务端性能优化等;这次QCon会议中,人人网介绍了开放平台授权与验证,飞信介绍了资源分配与控制策略,淘宝介绍了Web请求异步化处理,腾讯介绍了Open API的设计;下面是我之后的一些总结; 1、授权与验证 还是拿网上最流行的例子吧,网站A提供图片存储服务,网站B提供在线打印服务;现在用户想使用网站B提供的在线打印功能打印存储在网站A上的图片,怎么办呢?通常有两种做法: 用户先从网站A把要打印的图片下载到本地,然后再上传到网站B,最后通过网站B完成打印; 用户从网站B上直接访问存储在网站A上的图片,然后打 ...
  本文已发表在:http://www.5ilei.com/writing/2011-hangzhou-qcon-nosql.html   有幸参加了今年InfoQ在杭州首次举办的QCon大会,下面将我了解到的一些知识总结并分享给大家,其中有些是会后查资料了解的,有不正确的地方欢迎指出;   QCon中有一个专题专门介绍大数据及NoSQL,正好也对这方面有一点兴趣;介绍NoSQL的还真是多啊,Sina Weibo介绍Redis,盛大介绍MongoDB,Qunar介绍NoSQL常见误区及陷阱;   不管是哪种NoSQL产品,它们关注的点主要在以下几个方面:   1、schema- ...
[注]:本文已在黄金档 上发布,原文链接见http://www.goldendoc.org/2011/08/jms_spec_message/ 。   JMS ,即 Java Message Service ,它为 Java 应用程序提供了一种通用的用于创建、发送、接收以及读取消息的方式;   JMS 体系架构 1、 JMS Provider 面向消息中间件的, JMS 接口的一个实现。提供者可以是 Java 平台的 JMS 实现,也可以是非 Java 平台的面向消息中间件的适配器; ...
几个问题 了解以下几个问题的同学可以直接忽略下文: 1、listen 库函数主要做了什么? 2、 什么是最大并发连接请求数? 3、什么是等待连接队列? socket 监听相对还是比较简单的,先看下应用程序代码: listen( server_sockfd, 5) ;   其中,第一个参数 server_sockfd为服务端 socket所对应的文件描述符,第二个参数5 代表监听socket 能处理的最大并发连接请求数,在2.6.26 内核中,该值为 256 ; listen 库函数调用的主要工作可以 ...
一、前情回顾 上一节《socket 地址绑定 》中提到,应用程序传递过来的端口在内核中需要检查端口是否可用: if (sk->sk_prot->get_port(sk, snum)) { inet->saddr = inet->rcv_saddr = 0; err = -EADDRINUSE; goto out_release_sock; }     按照前面的例子来分析,这里是调用了 tcp_prot 结构变量中的 get_prot 函数指针,该函数位于 net/ipv4 ...
接上篇《socket地址绑定》     三、根据不同的协议来完成绑定 上面代码中的第3步是根据应用程序在创建socket时传递到内核的协议域及socket类型来决定调用采用哪个方法,具体可以参考 创建socket 一文,这里不再赘述;下面以AF_IENT及SOCK_STREAM为例来说明绑定的过程; 1、调用链: net/Socket.c:sys_bind()->net/ipv4/Af_inet.c:inet_bind();
  一、socket绑定入口 1、示例代码 struct sockaddr_in server_address; server_address.sin_family = AF_INET; server_address.sin_addr.s_addr = inet_addr("0.0.0.0"); server_address.sin_port = htons(9734); server_len = sizeof(server_address); bind(server_sockfd, (struct sockaddr *)&server_add ...
接上篇“创建socket” 一文;   5、分配sock结构: 本文中的例子会调用inet_family_ops.create方法即inet_create方法完成socket的创建工作;其调用链如下: net/Socket.c:sys_socket()->sock_create()->__sock_create()->net/ipv4/Af_inet.c:inet_create(); inet_create()主要完成以下几个工作:
  1、示例及函数入口:1) 示例代码如下: int server_sockfd = socket(AF_INET, SOCK_STREAM, 0); 2) 入口:net/Socket.c:sys_socketcall(),根据子系统调用号,创建socket会执行sys_socket()函数;2、分配socket结构:1) 调用链:
  一、socket()库函数到系统调用,再到内核 1、Linux运行的C库是glibc;2、socket()调用如下:1) socket()->__socket():glibc-2.3.6/sysdept/generic/socket.c (weak_alias(name1, name2))2) __socket():glibc-2.3.6/sysdept/unix/sysv/linux/i386/socket.S3) ENTER_KERNEL:
  一、注册时机 1、在内核初始化时完成;2、内核初始化过程(init/main.c):kernel_init()->do_basic_setup()->do_initcalls()->do_one_initcall();3、socket文件系统注册过程(net/socket.c):core_initcall(sock_init)
一、“回车”(Carriage Return)和“换行”(Line Feed)的来历         在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33,Linux/Unix下的tty概念也来自于此)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。       于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。这就是“换 ...
Global site tag (gtag.js) - Google Analytics