
----------【java】
宁静_致远76
这个作者很懒,什么都没留下…
展开
-
创建线程池的一种方式
创建线程池保证为每个线程指定名称,并对线程池定制异常策略。 private final String name; private final Map<Integer, ExecutorService> executorServiceMap; private final int channelCount = 10; private final int cha...原创 2018-02-24 17:43:33 · 1238 阅读 · 0 评论 -
使用redis对商城的首页添加缓存
1.redis服务: String get(String key); String set(String key,String value); String hget(String hkey,String key); long hset(String hkey,String key,String value); long incr(Strin原创 2016-07-13 16:35:33 · 4241 阅读 · 5 评论 -
Hibernate-回顾与总结
ITOO项目中数据库操作层用到的东西很多,包括EclipseLink等ORM框架也包括sql,对Hibernate的了解曾学习过,但是深入认识是在最近的应用开发框架中,通过--Criteria 这一个一种比hql更面向对象的查询方式,让提醒自己再次的学习Hibernate。定义: Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得原创 2016-04-29 10:51:02 · 738 阅读 · 6 评论 -
Mybatis学习与总结
这篇博客也是也中ORM框架,为什么要用ORM框架?我们来看下原生的jdbc程序问题: 1、数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响数据库性能。 2、将sql语句硬编码到java代码中,如果sql语句修改,需要重新编译java代码原创 2016-04-30 11:51:05 · 573 阅读 · 5 评论 -
SolrCloud+zookeeper
什么是SolrCloud? SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud。当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,搜索请求并发很高,这时需要使用SolrCloud来满足这些需求。 SolrCloud是基于Solr和Zookeeper的分布式搜索方案原创 2016-07-22 16:02:43 · 2144 阅读 · 3 评论 -
Nginx应用场景(二)反向代理,负载均衡
关于http服务器,我在以前的篇博客里有这样的介绍 《nginx+ftp实现图片的上传与访问》在这里通过ftp上传图片,nginx作为图片服务器,这样就可以通过http访问服务器中的图片。 下面来介绍下nginx实现反向代理,负载均衡: 先来张图介绍下什么是正向代理, 左边是一批处于局域网的计算机,如果想访问公网,由于不再一个网段内原创 2016-07-22 15:33:30 · 3634 阅读 · 4 评论 -
js中文传值乱码
最近项目中遇到了中文乱码的问题,在这里记录下,也希望能给遇到类似问题的人提供一种解决问题的方式! js代码 //获取当前学期名称 var myDate = new Date(); var year =myDate.getFullYear(); //获取完整的年份(4位,1970-????) var month= myDate.getMonth(); //获取当前月原创 2016-07-10 21:15:05 · 754 阅读 · 3 评论 -
Shiro的应用深入学习
上一篇中宏观上分享了Shiro的原理,今天将分享基于url的权限认证授权,以及Shiro的认证与授权的原理和流程 基于url的权限管理流程 优点: 使用基于url拦截的权限管理方式,实现起来比较简单,不依赖框架,使用web提供filter就可以实现。问题: 需要将所有的url全部配置起来,有原创 2016-05-31 17:47:37 · 2339 阅读 · 5 评论 -
CAS实现SSO单点登录
最近研究项目中用到的单点登录以及权限认证,通过视频进一步的学习来总结和分享。 什么是SSO? 单点登录( Single Sign-On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要 登录一次 就可以访问所有相互信任的应用系统。比如你登录淘宝账号后同样可以用天猫或支付宝的功能。登录一个企业内的多个原创 2016-05-26 10:50:23 · 737 阅读 · 5 评论 -
nginx+ftp实现图片的上传与访问
根据项目的开发要求,使用ftp实现上传图片,通过nginx搭建图片服务器,即对nginx的简单功能的一种应用。 关于vsftp和nginx的安装就不在这里详细演示,下面的代码是关于nginx.conf的配置,即将ftp上传的图片路径映射到nginx.conf中。 下面介绍代码是如何实现上传图片的。 j原创 2016-07-06 15:20:16 · 18526 阅读 · 6 评论 -
java多线程(二)可阻塞队列BlockingQueue
先看一个程序题目:一个程序产生16个日志对象,并且需要运行16秒才能打印完这些日志,请在程序中增加4个线程去调用parseLog方法来分头打印这16个日志对象,只需要在4秒内打印完这些日志对象。 利用阻塞队列的ArrayBlockingQueue来实现如下 public static void main(String[] args) { final Block原创 2016-06-21 15:32:23 · 815 阅读 · 3 评论 -
乐观锁的两种实现方式
什么场景下需要使用锁?在多节点部署或者多线程执行时,同一个时间可能有多个线程更新相同数据,产生冲突,这就是并发问题。这样的情况下会出现以下问题:更新丢失:一个事务更新数据后,被另一个更新数据的事务覆盖。脏读:一个事务读取另一个事物为提交的数据,即为脏读。其次还有幻读。。针对并发引入并发控制机制,即加锁。加锁的目的是在同一个时间只有一个事务在更新数据,通过锁独占数据的修改权。原创 2017-08-01 23:25:54 · 44931 阅读 · 7 评论 -
Collections.unmodifiableList()
Collections.unmodifiableList()-只读集合public class Student { private String name; private ArrayList<String> courses; public Student(String name, ArrayList<String> courses) { this.name =原创 2017-06-30 18:09:04 · 740 阅读 · 3 评论 -
nginx应用场景
什么是nginx? Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好.中国大陆使原创 2016-07-22 14:48:42 · 6313 阅读 · 9 评论 -
cas深入理解
最近进一步学习和研究了单点登录的cas的运行机制,上一篇博客只是从很浅显的层面介绍过单点登录,这篇是小编对CAS有了又一次深入的研究后的总结; CAS的包括两部分:CAS Server和CAS Client。 CAS Server 负责完成对用户的认证工作,需要独立部署,CAS Server会处理用户名/密码等凭证(Credentials)。 CAS原创 2016-09-01 10:14:46 · 679 阅读 · 4 评论 -
java中转发和重定向的区别
一、调用方式我们知道,在servlet中调用转发、重定向的语句如下:request.getRequestDispatcher("new.jsp").forward(request, response); //转发到new.jspresponse.sendRedirect("new.jsp"); //重定向到new.jsp在jsp页面中你也会看到通过下面的方式转载 2016-07-21 09:25:21 · 589 阅读 · 4 评论 -
java多线程(四)关键字volatile
关键字volatile的主要作用是使变量在多线程间可见。 解决异步死循环 如下代码 public class RunThread extends Thread { //volatile private boolean isRunning=true; private boolean isRunning=true; public boolean原创 2016-06-22 21:18:06 · 1474 阅读 · 3 评论 -
java多线程(三)-同步工具Semaphore
Semaphore也是一个线程同步的辅助类,可以维护当前访问自身的线程个数,并提供了同步机制。使用Semaphore可以控制同时访问资源的线程个数,例如,实现一个文件允许的并发访问数。Semaphore的主要方法摘要: void acquire():从此信号量获取一个许可,在提供一个许可前一直将线程阻塞,否则线程被中断。 void release():释放一个许可,将其返回给信号量原创 2016-06-21 16:34:12 · 776 阅读 · 4 评论 -
Java多线程(一)基本用法
1、概念及优点 进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在当代面向线程设计的计算机结构中,进程是线程的容器。 我们在Windows任务管理器的进程中看到的exe程序,这就是我们所说的进程。如QQ; 线程:可以理解为进程中独立运行的子任务。比如QQ.ex原创 2016-06-20 19:20:34 · 497 阅读 · 4 评论 -
安全框架-Shiro
什么是Shiro Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。Shiro能做什么 认证:验证用户来核实他们的身份 授权:对用户执行访问控制,如: 判断用户是否被分配了一个确定的安全角色;判断用户是否被允许做某事; 会话管理:在任何环境下使用Session API,即使没有原创 2016-05-29 19:58:30 · 1701 阅读 · 6 评论 -
Web Service学习与初步认识
概况: Web Service 是一种跨变成语言和跨操作系统平台的运程调用规范,它不是框架,更不是一种技术,。 所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则可以采用其他编程语言编写,反之亦然!跨操作系统平台则是指服务端程序和客户端程序可以在不同的操作系统上运行。 所谓远程调用,就是一台计算机a上的原创 2016-05-16 11:26:48 · 565 阅读 · 3 评论 -
EJB及其基本分类
定义: EJB是sun的JavaEE服务器端组件模型,设计目标与核心应用是部署分布式应用程序。简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。EJB (Enterprise JavaBean)是J2EE(javaEE)的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特原创 2016-04-30 16:35:58 · 3450 阅读 · 9 评论 -
分销商管理--代理模式
代理模式:为其他对象提供一种代理以控制这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。原创 2015-12-14 16:49:51 · 2042 阅读 · 5 评论 -
英语需要你说出来
国庆节回去后才发现,清晨的操场已经是英语的天地,好多人一起在那里疯狂的读英语,他们的那种氛围让自己很是喜欢。第二天就找振华教我练习丹田发音,其实发自内心的不是想练习如何说出一口流利的英语,就是想借助英语学习怎么让自己的声音更有“力量”,也是第一次感受到声波的力量是如此强大。 记得高考前夕,有人冲着窗户,大叫,来释放怀揣了多年压力。自己也曾“呐喊”,但都内心的呐喊,当自己真的用声音呐喊的原创 2015-10-26 08:59:48 · 1361 阅读 · 32 评论 -
drools规则语法-API与FACT(三)
在 Drools 当中,规则的编译与运行要通过Drools 提供的各种API 来实现,这些API 总体来讲可以分为三类:规则编译、规则收集和规则的执行。完成这些工作的API 主要有KnowledgeBuilder、KnowledgeBase、StatefulKnowledgeSession、StatelessKnowledgeSession、、等,它们起到了对规则文件进行收集、编译、查错、插入fa原创 2015-09-20 22:51:37 · 8286 阅读 · 12 评论 -
drools入门(二)
背景介绍 人工智能(AI)是一个非常广泛的研究领域,关注“使计算机象人一样思索”,包括的学科有神经网络、遗传算法、决策树、框架系统和专家系统。知识表示属于 AI 的领域,其关注知识如何表示和利用。专家系统使用知识表示,促进编纂的知识转化为一个可以被用于推理的知识库。例如,我们可以使用这个知识库处理数据而推断结论。专家系统也被称为基于知识的系统和基于知识的专家系统, 被认为是“应用人原创 2015-09-13 19:41:10 · 3038 阅读 · 5 评论 -
drools初识(一)
因为公司项目的需要,最近在研究drools,现在正在初步学习阶段,总结和转载一些文章以备学习以及共享。一、什么是规则引擎呢? Drools(JBoss Rules )具有一个易于访问企业策略、易于调整以及易于管理的开源业务规则引擎,符合业内标准,速度快、效率高。业务分析师或审核人员可以利用它轻松查看业务规则,从而检验是否已编码的规则执行了所需的业务规则。原创 2015-09-13 18:03:14 · 1741 阅读 · 9 评论 -
tomacat无法启动---174 javajni.c] [error] %1 不是有效的 Win32 应用程序。
我的jdk的版本是jdk1.8.0_05,tomcat的版本比较旧是tomcat-5.5.26,按照网上各种配置jdk与tomcat的环境配置指导,一步步的来的,jdk的检测是没有问题的,也尝试了改变端口号,修改bat文件,但是仍是无法启动,cmd窗口还是一闪而过,根据日志文件一步步的深入找,一直是认为环境变量配置的路径有问题,最后尝试着将jdk中bin文件下的msvcr100.dll文件拷贝到t原创 2015-08-29 14:14:23 · 16154 阅读 · 21 评论 -
软考之J2SE
看完马士兵的视频发现里面的东西并不陌生,有vb,c++,c#做基础加上这次的J2SE发现原来编程语言有很多相同的特性,也不再那么神秘了。当然这是在最初阶段的认识,需要更深入的学习,才能发现这些语言的特有的优点。Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。原创 2014-09-18 10:02:35 · 1242 阅读 · 24 评论 -
IIS与Tomcat服务器集成
IIS简介:Internet Information Server的缩写为(IIS)是一个World Wide Web server。Gopher server和FTP server全部包容在里面。 IIS意味着你能发布网页,并且有ASP(Active Server Pages)、JAVA、VBscript产生页面,有着一些扩展功能。IIS支持一些有趣的东西,像有编辑环境的界面(FRONT原创 2015-04-08 15:57:35 · 3746 阅读 · 9 评论 -
Spring框架概况(一)
初学Spring框架,对该框架有了理论层的认识,总结博客作为学习笔记。 Core封装包是框架的最基础部分,提供IoC和依赖注入特性。这里的基础概念是BeanFactory,它提供对Factory模式的经典实现来消除对程序性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置。 构建于Core封装包基础上的Context封装包,提供了一种框原创 2016-01-16 20:37:36 · 719 阅读 · 4 评论 -
Eclipse启动 org.eclipse.swt.SWTException: Invalid thread access问题解决方法
最近使用eclipse的时候,当选择完workspace之后,eclipse开始加载启动,在这个阶段经常出现闪退出的情况。 看到日志文件提示一下内容: org.eclipse.swt.SWTException: Invalid thread access at org.eclipse.swt.SWT.error(SWT.java:4441) at org.eclipse.s原创 2016-01-08 20:08:36 · 6277 阅读 · 9 评论 -
Java里的下载Excel模板上传Excel文件
由于项目的需要做过VB版的上传excel,vb.net,以及c#的上传excel,现在做Java项目也同样遇到了,为了解决异构系统或者整理原始数据时无法避免的会用到这个东东,所以这样的功能算是非常常见的。这篇博客将更深入的分享如何下载excel模板以及上传excel文件。这两天项目催的那个紧以及会议的问题,博客先记录下主题,稍后不上。。。。原创 2016-03-31 21:52:36 · 5961 阅读 · 8 评论 -
Spring MVC之文件上传与下载
最近项目中需要上次传文档,下载文档,所以顺便的学习了下Spring MVC的上传,以及Ajax的updateFile。待续。。。原创 2016-03-31 21:47:33 · 1718 阅读 · 4 评论 -
EasyUI datagrid列排序
选课系统中对easyUI datagrid排序的功能进行了实践。发现easyui的人性化处理真滴不错。给开发人员带来很大的便利。完整版代码分析给有需要的人。 html代码<table id="dg" title="已配置轮次" class="easyui-datagrid" url="${pageContext.request.contextPath}/queryRoundin原创 2016-02-26 11:48:13 · 18814 阅读 · 6 评论 -
EasyUI datagrid行编辑-选课系统轮次管理
最近项目中用到了easyUI datagrid行编辑,根据官网的代码以及根据项目需要进行的改进。其中更为突出的问题,如何将前台获取的Object解析为json字符串传递给后台,然后再后台接收Object。今天介绍另外一种方式,直接将字符串传递给后台。 html 代码 <table id="dg" class="easyui-datagrid" title="轮次管理" style原创 2016-02-26 11:28:46 · 1171 阅读 · 2 评论 -
JSON.parse()和JSON.stringify()
parse用于从一个字符串中解析出json对象,如var str ='{"name":"huangxiaojian","age":"23"}'结果:JSON.parse(str)Objectage: "23"name: "huangxiaojian"__proto__: Object 注意:单引号写在{}外,每个属性名都必须用双引号,否则原创 2016-02-25 21:01:52 · 603 阅读 · 5 评论 -
再谈反射
最近在一次技术分享会上继续分享了反射机制,每次的分享都让自己对它有个更深入的认识。下面是由TKY某项目中项目经历搭建的框架,自己深入的整理了下,并对以此对反射有了一层又一层的深刻认识,同时借鉴了他人的博客以及视频讲解,产生了共鸣。 反射在运行时动态的实例化对象,动态的调用对象。 即: 在运行时判断任意一个对象所属的类; 在运行时构造任意一个类的对象;原创 2016-03-16 16:33:36 · 676 阅读 · 6 评论 -
利用ParameterizedType获取java泛型参数类
下面的代码将介绍如何利用ParameterizedType获取java泛型参数类型,进而通过反射获取java类。//超类package test;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;@SuppressWarnings("unchecked")public class Person<T>原创 2016-02-15 21:33:02 · 7512 阅读 · 4 评论 -
java分销资源计划平台框架了解及学习
分销资源计划平台是第一个java项目,在分销管理系统中用到的是JSP+Servlet+JSTL+Oracle开发环境,从最基本最原始的java技术开始实现,然后在实现的过程中框架逐步演进,其中介绍了三种开发框架,model1,model2也就是MVC,三层。 第一种主要是web客户端+JSP+业务逻辑。原创 2015-12-27 18:45:40 · 3236 阅读 · 6 评论