首页
学习
活动
专区
工具
TVP
发布

Java学习之路

专栏作者
38
文章
36123
阅读量
28
订阅数
JavaTCP和UDP套接字编程
原文地址:http://www.cnblogs.com/MindMrWang/p/8919890.html 在我们刚开始入门Java后端的时候可能你会觉得有点复杂,包含了很多杂七杂八的知识,例如文件上传下载,监听器,JDBC,请求重定向,请求转发等等(当然也没有很多),但是我们自己真正的去开发一个小型网站(对安全性一起其他并发不作要求)的时候,其实我们会发现,Java后端是真的省事,好像除了CURD还是CURD,没有什么更新鲜的了。但是我们回顾计算机网络的知识提出疑问,计算机信息传输有TCP和UDP两种连接方式,但是我们编程的时候怎么没体现?怎么回事呢?
MindMrWang
2018-09-29
4680
虚拟机工作站创建虚拟机并安装Linux教程 一丶什么是Linux:二丶为什么要学Linux:三丶安装虚拟机工作站和初始化虚拟机:四丶安装Linux操作系统
前言: 今天开始学习一下Linux,之前早就想看,但是一直没时间,最近把其他知识整理完了,终于有时间来看一下Linux了。 本节只是安装虚拟机工作站,虚拟机,和Linux操作系统的过程,详细的记录
MindMrWang
2018-04-24
1.8K0
JavaTCP和UDP套接字编程
原文地址:http://www.cnblogs.com/MindMrWang/p/8919890.html 在我们刚开始入门Java后端的时候可能你会觉得有点复杂,包含了很多杂七杂八的知识,例如文件上传下载,监听器,JDBC,请求重定向,请求转发等等(当然也没有很多),但是我们自己真正的去开发一个小型网站(对安全性一起其他并发不作要求)的时候,其实我们会发现,Java后端是真的省事,好像除了CURD还是CURD,没有什么更新鲜的了。但是我们回顾计算机网络的知识提出疑问,计算机信息传输有TCP和UDP两种连
MindMrWang
2018-04-24
6750
用阻塞队列和线程池简单实现生产者和消费者场景
本例子仅仅是博主学习阻塞队列和后的一些小实践,并不是真正的应用场景! 生产者消费者场景是我们应用中最常见的场景,我们可以通过ReentrantLock的Condition和对线程进行wait,notify同通信来实现生产者和消费者场景,前者可以实现多生产者和多消费者模式,后者仅可以实现一生产者,一消费者模式。 今天我们就利用阻塞队列来实现下生产者和消费者模式(里面还利用了线程池)。 看过我关于阻塞队列博文的朋友已经知道,阻塞队列其实就是由ReentrantLock实现的! 场景就不描述了,为简单的多生产者
MindMrWang
2018-04-24
1.9K0
从源码看JDK提供的线程池(ThreadPoolExecutor) 一丶什么是线程池二丶ThreadPoolExecutor的使用三丶从源码来看ThreadPoolExecutor
一丶什么是线程池 (1)博主在听到线程池三个字的时候第一个想法就是数据库连接池,回忆一下,我们在学JavaWeb的时候怎么理解数据库连接池的,数据库创建连接和关闭连接是一个比较耗费资源的事情,对于那些数量多且时间短暂的任务,会导致频繁获取和释放连接,这样使得处理事务的效率大大降低,多以我们创建一个连接池,里面放了指定数目的连接,当应用需要数据库连接的时候去里面获取,使用完毕后再放到连接池里,这样就避免了重复的获取连接和释放连接,至于要获取什么样的连接池我们可以根据应用的特征,设置参数来决定。 (2)线程池
MindMrWang
2018-04-19
9050
Hibernate学习---缓存机制
前言:这些天学习效率比较慢,可能是手头的事情比较多,所以学习进度比较慢。 在之前的Hibernate学习中,我们无论是CURD,对单表查询还是检索优化,我们好像都离不开session,session我们之间也简单的说过,它是一个缓存,这一篇文章就就Hibernate的缓存进行一些介绍,我们将从以下几点进行: 缓存的分类 一级缓存 快照 二级缓存 EHCache配置 二级缓存内容配置 总结 一丶缓存的分类: Hibernate中缓存分为一级缓存和二级缓存,像我们之前经常用到的session是一级缓存,二级缓
MindMrWang
2018-04-16
7210
Hibernate学习---检索优化
Hibernate框架对检索进行了优化,前面我们将CURD的时候提到了load和get的区别,当时仅仅说了load为延迟加载,get为立即加载,当检索的记录为空的时候load报错(不是在执行load方法的时候报的错,是执行后面的操作报的错),get返回null。 其实load就是对检索的一种优化,它的作用是当程序执行检索代码的时候,在缓存中没有的前提下,不会立即去数据库中查询,而是等真正用到的时候才会去查询,这是一种懒加载策略。 下面我们要讲的内容有: 当前对象的检索优化 关联对象的检索优化 当前对象的检
MindMrWang
2018-04-16
1K0
Hibernate学习---关联关系映射
关联关系是用到的最多的一种关系,非常重要,在内存中反映为实体关系,映射到DB中主键外键关系,实体间的关联,即对外键的维护,关联关系的发生,即对外键数据的改变。 在这里就不赘述什么是外键什么是主键了。 一丶关联的的数量 实体对象间的关联从数量上可以划分为 1:1(一对一) 1:N(一对多) N:1(多对一) M:N(多对多) 二丶关联属性 Java代码实体定义中,声明另一个实例类类型或其集合类型的属性,称为关联属性。 public class Department{ private Integer
MindMrWang
2018-04-16
1.3K0
Hibernate学习---单表查询
我们都知道SQL是非常强大的,为什么这么说呢?相信学过数据库原理的同学们都深有体会,SQL语句变化无穷,好毫不夸张的说可以实现任意符合我们需要的数据库操作,既然前面讲到Hibernate非常强大,所以Hibernate也是能够实现SQL的一切数据库操作。 在SQL中,单表查询是最常用的语句,同理Hibernate最常用到的也是查询语句,所以今天就来讲讲Hibernate的单表查询: 今天要将的内容分以下几点: 查询所有 查询结果排序 为查询参数动态赋值 分页查询 模糊查询 唯一性查询 聚合函数查询 投影查询
MindMrWang
2018-04-16
1.1K0
Hibernate学习---用Session实现CURD
我们使用Hibernate的目的是什么?对数据库进行操作,所有接下来我们就用Hibernate来进行CURD。 前边我们已经分析过了Configuration,SessionFactory和Session,接下来我们就利用Session对象来进行增删改查: 在进行增删改查之前我们先对SessionFactory和Session进行一些简单的封装: public class hbnUtil { private static SessionFactory factory; public
MindMrWang
2018-04-16
8010
Hibernate学习---Configuration,Session,SessionFactory Configuration:SessionFactory:Session:
上一节我们讲到了Hibernate的测试,并且给出了测试代码,刚开始看见这个测试代码的同学估计是一头雾水把,所以这一节我们来讲一下测试代码。 本节主要内容: Configuration SessionFactory Session 首先我们再来看一下上一节的测试代码: //加载配置文件 Configuration config = new Configuration().configure(); //根据配置文件创建会话工厂 SessionF
MindMrWang
2018-04-16
5610
Hibernate学习---基本介绍+作用+配置
从今天开始重新学习(以前学的太匆忙)Hibernate,这篇文章主要就一下几点进行讲解和说明: Hibernate的基本介绍 Hibernate的作用 Hibernate基本配置 Hibernate的基本介绍: Hibernate最开始的作者是Gavin King,是澳大利亚人,在工作中因为不满EJB的种种不足,而自行花费两年的时间开发出最原始的Hibernate,后来被Jboss收购了Gavin King所在的公司(最主要是看上了Hibernate),后来的Jboss被红帽收购,所以现在Hibernate
MindMrWang
2018-04-16
1.5K0
Struts2学习---namespace,file模块包含,默认action
我们上一节已经将action基本的配置和使用讲了,接下来我们讲以下struts一些小知识点: namespac: 上一节学习action的时候我们访问我们jsp文件时候使用的: http://localhost:8080/testStruts2/hello 这个路径,有同学就会问,为啥只能用这个路径, 其实我们也可以用: http://localhost:8080/testStruts2/hello.action 这两种是默认的方法,但是同样我们也可以自定义。 <package name="
MindMrWang
2018-04-16
4990
Struts2学习---简单的数据校验、访问Web元素 1.简单的数据校验访问Web元素
1.简单的数据校验 在action里面我们已经给出了一个数据校验: public String execute() { if(user.getUsername().equals("username")&&user.getPassword().equals("password")) { return SUCCESS; } return ERROR; } 这里是action的传送门 上面代码大概就是如果用户名为“username
MindMrWang
2018-04-16
8920
12 Spring框架 SpringDAO的事务管理
上一节我们说过Spring对DAO的两个支持分为两个知识点,一个是jdbc模板,另一个是事务管理。 事务是数据库中的概念,但是在一般情况下我们需要将事务提到业务层次,这样能够使得业务具有事务的特性,来管理业务。 例如:在银行的转账系统中,张三转账给李四,需要完成从张三的账户上扣取指定金额并加到李四的账户上,这样一个过程需要具有原子性,即要成功都成功,要失败都失败。转账的过程即两个对账户更新,需要将事务提升到业务层次,使得两个操作具有原子性! 对以上的实现,Spring的API中有两个常用的接口我们会使用
MindMrWang
2018-04-16
7490
Struts2学习---基本配置,action,动态方法调用,action接收参数 动态方法调用action接收参数
首先我们先来直接配置,然后再来讲原理: 第一步:jar包的引入: 我们可以到struts2的官网上下载: http://struts.apache.org/download.cgi#struts
MindMrWang
2018-04-16
1.6K0
10 Spring框架 AOP (三) Spring对AspectJ的整合
上两节我们讲了Spring对AOP的实现,但是在我们的开发中我们不太使用Spring自身的对AOP的实现,而是使用AspectJ,AspectJ是一个面向切面的框架,它扩展了Java语言。AspectJ定义了AOP语法,所以它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件,如果我们要单独的使用Aspect,我们需要安装,并配置环境变量,但是Spring对AspectJ做了很好的整合,我们只需要将相关的jar包导入,就可以在Spring的环境下使用AspectJ。 本节主要讲解Spring
MindMrWang
2018-04-16
8760
Struts2学习---拦截器+struts的工作流程+struts声明式异常处理 拦截器的介绍:拦截器在struts中的地位:拦截器的作用有:拦截器的配置(自定义拦截器):
这一节我们来看看拦截器,在讲这个之前我是准备先看struts的声明式异常处理的,但是我发现这个声明式异常处理就是由拦截器实现的,所以就将拦截器的内容放到了前面。 这一节的内容是这样的: 拦截器的介绍 拦截器在struts中的地位 拦截器的作用 拦截器的配置(自定义拦截器) 拦截器实现声明式异常处理 拦截器的介绍: 在看到拦截器的时候我的第一反应就想到了过滤器,在javaweb里面我们可以设置过滤器,request请求想要和服务区建立连接之前都要经过这个过滤器,然后才能访问到服务器。 同样的struts中
MindMrWang
2018-04-16
8340
09 Spring框架 AOP (二) 高级用法
上一篇文章我们主要讲了一点关于AOP编程,它的动态考虑程序的运行过程,和Spring中AOP的应用,前置通知,后置通知,环绕通知和异常通知,这些都是Spring中AOP最简单的用法,也是最常用的东西,本节我们 要讲:对上节课的补充和AOP的高级使用,本文将以以下的顺序来进行分析: 无接口的CGLIB动态代理 有接口的CGLIB动态代理 方法名匹配切入点顾问 正则表达式方法切入点顾问 自动代理生成器 (一)无接口的CGLIB动态代理 上一节我们示范的通知(前置,后置...),都有实现接口,我们在动态代理中也曾
MindMrWang
2018-04-16
6850
08 Spring框架 AOP (一)
首先我们先来介绍一下AOP: AOP(Aspect Orient Programming),面向切面编程,是面向对象编程OOP的一种补充。面向对象编程是从静态角度考虑程序的结构,面向切面编程是从动态的角度考虑程序运行过程。 AOP底层,就是采用动态代理模式实现的。采用两种代理:JDK的动态代理,与CGLIB的动态代理。JDK的动态代理是面向接口的,CGLIB既可以实现有接口的,又可以实现没有接口的。(对动态代理不了解的可以看看我的其关于动态代理的介绍) 面向切面编程,就是将交叉业务逻辑封装成切面,利用AO
MindMrWang
2018-04-16
6460
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档