Hibernate的所有session都是由sessionFactory来生成的,那么,sessionFactory是怎么得来的呢?它与我们配置的xxx.cfg.xml文件以及xxx.hbm.xml文件之间又有着怎么样的联系呢? 先看一小段生成sessionFactory的代码: code_1: public class HibernateTest { @Test public void test() { System.out.println("test..."); //1. 创建一个…
我们要使用 Hibernate 的功能,首先需要读取 Hibernate 的配置文件,根据配置启动 Hibernate ,然后创建 SessionFactory. 创建 SessionFactory 的代码很简单,这也是我们要分析的代码: Configuration cfg = new Configuration().configure(); SessionFactory factory = cfg.buildSessionFactory(); 接下来,就针对这两行代码进行分析. 1.初始化 C…
在windows系统本地运行spark的wordcount程序,会出现一个异常,但不影响现有程序运行. >>提君博客原创  http://www.cnblogs.com/tijun/  << 总归是一个异常,老是爆红,看着心烦,下面是异常信息 提君博客原创 让我们源码追踪一下,看看到底是什么原因导致,点击第一行爆红的异常信息提示,就是(shell.java:355) 看到我的截图提示,大概了解什么原因了.发现HADOOP_HOME_DIR为null,右边outline里面找到一个私…
Saiku登录源码追踪呀~ >>首先我们需要debug跟踪saiku登录执行的源码信息 saiku源码的debug方式上一篇博客已有说明,这里简单介绍一下 在saiku启动脚本中添加如下命令: (windows下: start-saiku.bat) set CATALINA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n  (后面可能还会有一些JVM参数信息) 使用Eclipse打开saiku…
最近依旧在学习阅读Spring Boot的源代码,在此过程中涉及到很多在日常项目中比较少见的功能特性,对此深入研究一下,也挺有意思,这也是阅读源码的魅力之一.这里写成文章,分享给大家. 自动配置中的ObjectProvider 在阅读Spring Boot自动配置源码中关于Tomcat的配置时,看到这样如下的自动配置配置源代码. @Configuration(proxyBeanMethods = false) @ConditionalOnClass({Servlet.class,Tomcat.c…
Google Protocol Buffers是google出品的一个协议生成工具,特点就是跨平台,效率高,速度快,对我们自己的程序定义和使用私有协议很有帮助. Protocol Buffers入门:1.去 http://code.google.com/p/protobuf/downloads/list 下载一个源代码包和一个已编译好的二进制包2.找一个Proto示例代码,使用命令 protoc -I=$SRC_DIR --java_out=$DST_DIR $SRC_DIR/addressbo…
项目要用到这个功能,就写了一个,完整类也就二百来行,很简单.可以在项目中用,也可以作为学习. 源码下载 http://yunpan.cn/cmQCSWkhDnZLJ  访问密码 0227 核心代码如下: using System; using System.Collections.Generic; using System.Collections; using System.Text; using System.Xml; using System.Text.RegularExpressions;…
此文是前文使用现有在线翻译服务进行代码翻译的体验的编程语言方面第二点的一个尝试. 参考Which framework to generate source code ? - Cleancode and Refactoring, 选了一个综合代价看来最小的, forge/roaster, 因为它同时具备解析和生成两方面功能. 初步汉化后代码效果如下(尚未有语法高亮, 仅作演示用. 之后的在线翻译结果也是同样处理): package com.company.example; import java.…
最近遇到一个非常诡异的问题,在一个 ASP.NET Core 2.2 项目中,从 SQL Server 数据库查询 100 条数据记录,会出现 16-22s 左右的延迟.延迟出现在执行 SqlDataReader 的 ReadAsync 方法时,在一行一行读取数据时,读取某些行时会出现 2-3s 的延迟. 前两天通过在 corefx 中 System.Data.SqlClient 源码中打点  Console.WriteLine($"{DateTime.Now}") (打点方法见之前的…
iOS精选源码 粒子雪花与烟花的动画 iOS 2048游戏 JHSoundWaveView - 简单地声波图.音波图 一个可快速集成的新闻详情界面框架,类似今日头条,腾讯新闻 二维码/条形码扫描及扫描与输入形式切换和二维码的生成 页面多tableView滑动悬停 数值加减小控件(购物车.商品类数值更改) iOS国际化语言切换 iOS优质博客 新手也看得懂的 iOS Runtime 教程 关于 Runtime ,网上已经有很多很好的文章,写得很详尽.本篇主要是从新手的角度出发,逐步介绍 Runti…
Mapper中的方法执行时会构造为org.apache.ibatis.binding.MapperMethod$MethodSignature对象,从该类源码中可以了解如何使用Mapper方法. [支持的特殊参数类型] RowBounds.ResultHandler.普通参数 (作为sql执行时使用的变量) 其中普通参数可以是单一的model.查询条件的map或直接将一到多个查询条件作为参数(多个条件在框架中最终将封装为Map<String, Object>使用) 另外普通参数支持添加@Par…
启用一个扫描类 <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="cn.edu" /> </bean> 扫描类的代码片段 public class MapperScannerConfigurer implements BeanDefinitionRegistry…
昨天对于Eurake大致做了一个介绍,今天就来说说具体怎么配置和使用吧. 首先,我们创建一个服务注册中心 这是它的配置文件 注意,因为我等下还会弄一个Eureka注册中心,所以这里service-url写的是对方的url 这就是另一个 也是写上对方的url,有一点要注意,Eureka注册中心在开启服务的时候,会把它自己也给注册上去(可以配置不注册自己,但是不建议,这是为了创建集群的时候能更直观的看到注册中心的数量),因为Eureka没有客户端服务端的概念,类似p2p模式,所有人即是生产方也是消费…
const portfinder = require('portfinder'): const port = await portfinder.getPortPromise(): 两行代码 端口搜索范围 默认情况下,portfinder将开始搜索8000并扫描,直到达到最大端口号(65535) 源码的路径是在node_modules/@vue/cli-service/lib/commands/serve.js…
source: 释放对象上的锁并阻止当前线程,直到它重新获取该锁. 如果已用指定的超时时间间隔,则线程进入就绪队列. 可以在等待之前退出同步上下文的同步域,随后重新获取该域. [SecuritySafeCritical] public static bool Wait(object obj, int millisecondsTimeout, bool exitContext) { if (obj == null) { throw new ArgumentNullException("obj&qu…
hibernate的一级缓存的存在使得hibernate可以在操作实体化对象的时候减少对于数据库的访问.hibernate的一级缓存实际上就是指的session缓存,它的生命周期和session相同.hibernate通过Map来实现一级缓存,Map里存储了持久化类的更新后的状态以及持久化类的副本(又称为快照). hibernate的session对象于一级缓存相关的结构图如下图所示: 下面通过在eclipse环境下debug,来观察一级缓存在session进行刷新的时候,所涉及到的数据结构和操…
解析xml节点入口 org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(Element root) protected void doRegisterBeanDefinitions(Element root) { // Any nested <beans> elements will cause recursion in this method.…
原文引用自 http://www.360doc.com/content/12/0910/21/10504424_235418578.shtml 使用.aspx生成的页面一般都会有一个或多个空行,当然这些空行不会影响页面在浏览器中的渲染结果,不过在查看源代码的时候感觉有些别扭,我曾试着去删除这些空行,但没有成功,你知道你们有没有去尝试.…
先看调用的方法: ).ToUpper())                {                    case "JPG":                        bt.Save(newfile, ImageFormat.Jpeg);                        break;                    case "GIF":                        bt.Save(newfile, Image…
一.阅读类注释 ①.SessionFactory的主要任务是创建Session的实例.通常一个应用程序只有一个单一的SessionFactory对象,而且线程从这个SessionFactory中获取Session的实例来维护客户端的请求. ②.SessionFactory的内部状态是不会改变的.只在创建这个对象的时候设置一次.它的内部状态包括所有关于对象/关系映射的元数据. ③.实现这个接口的实现类必须是线程安全的.…
这次的议题是返回json和返回普通view经过的路线差异. --------------------------------------------------------------------------------- org.springframework.web.servlet.DispatcherServlet#doDispatch protected void doDispatch(HttpServletRequest request, HttpServletResponse res…
研究代码: spring配置文件 <cache:annotation-driven /> Java代码 @Cacheable(value = "test", key = "#city") public Map load(String city) {} [cache:annotation-driven机制] 本来以为会有遍历package找类的代码(mybatis那个应该是这么干的),不过实际上只有这个. org.springframework.cache…
类org.springframework.beans.factory.support.AbstractBeanFactory方法T doGetBean(final String name, final Class<T> requiredType, final Object[] args, boolean typeCheckOnly) 这里requiredType是获取的实例要转换成的类型,转换通过org.springframework.beans.TypeConverter进行. if (re…
RecipientsEditor 新建短信时输入收接者的editor, public class RecipientsEditor extends MultiAutoCompleteTextView { private int mLongPressedPosition = -1; private final RecipientsEditorTokenizer mTokenizer; private char mLastSeparator = ','; public RecipientsEdito…
org.apache.ibatis.binding.MapperMethod中execute方法 ...} else if (method.returnsMap()) { result = executeForMap(sqlSession, args); } else {... private <K, V> Map<K, V> executeForMap(SqlSession sqlSession, Object[] args) { Map<K, V> result;…
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Drawing.Drawing2D; namespace Cachet{    public class CreatPublicSeal    { Font Var_Font…
初衷 记得以前写接口,写完后会整理一份API接口文档,而文档的格式如果没有具体要求的话,最终展示的文档则完全决定于开发者的心情.也许多点,也许少点.甚至,接口总是需要适应新需求的,修改了,增加了,这份文档维护起来就很困难了.于是发现了swagger,自动生成文档的工具. swagger介绍 首先,官网这样写的: Swagger – The World's Most Popular Framework for APIs. 因为自强所以自信.swagger官方更新很给力,各种版本的更新都有.swag…
ThreadLocal 字段成员: private Func<T>? _valueFactory; 一个获取默认值的委托 不同线程共享此成员. [ThreadStatic] private static LinkedSlotVolatile[]? ts_slotArray; ThreadStatic特性,这不就是我们熟悉的ThreadStaticAttribute吗, 所以ThreadLocal 就是一个ThreadStatic的封装类,简化了tls操作 [ThreadStatic] priv…
一. 认证的发展历程简介 这里真的很简单的提一下认证的发展历程.以前大都是采用cookie.session的形式来进行客户端的认证,带来的结果就是在数据库上大量存储session导致数据库压力增大,大致流程如下: 在该场景下,分布式.集群.缓存数据库应运而生,认证的过程大致如下: 不过该方式还是缓解不了数据库压力,一个项目中应该尽可能多的减少IO操作,于是后来采用签名的方式,在服务端只保存token的签名算法,当客户端认证时,只需用算法去生成或是判断token的合法性即可.大致方式如下: 二.…
经过近一年的沉淀和总结,<OpenCV3编程入门>一书最终和大家见面了. 近期有为数不少的小伙伴们发邮件给浅墨建议最好在博客里面贴出这本书的文件夹,方便大家更好的了解这本书的内容.事实上近期浅墨实在是有些忙,个人独立开发的3D ARPG跨平台游戏App刚刚登陆安卓平台,各大应用商店都须要上架,加之各种学业方面的事情,所以这篇文章直到如今才发出来. OK,先看看<OpenCV编程入门>这本书的封面. 和出版的第一本书<逐梦旅程>一样,这本书的封面依然是浅墨自己设计的原型和…