java

Android上使用grpc的方法教程

11-28
前言 最近的一个项目使用到了grpc实现跨平台的远程调用,在安卓端使用的时候遇到了一些坑,这里记录一下. 首先根据grpc android的官方Demo配置grpc依赖,测试它的hello world工程. 编译谷歌官方的helloworld工程 添加rotobuf-gradle-plugin插件 首先添加rotobuf-gradle-plugin插件,他是用来从proto文件自动生成java代码的: //Project的build.gradle中添加rotobuf-gradle-plugin插

http请求绕过Filter的实现实例

11-28
http请求绕过Filter的实现实例 场景:两个web服务器,A当做服务端,B为客户端,B通过Hessian远程访问A.A上加了session过期filter,通过用户信息检查session是否过期.这种情况下,Hessian会先发给filter,filter读不到用户信息就会认为过期了,引起错误. 解决方案:让hessian请求绕过session过期filter. filter配置中,不能加exclusion,所以需要用初始化参数给出不过滤的请求.本例中不过滤的格式为>/SarService

Java 向上转型和向下转型的详解

11-28
Java 向上转型和向下转型的详解 转型是在继承的基础上而言的,继承是面向对象语言中,代码复用的一种机制,通过继承,子类可以复用父类的功能,如果父类不能满足当前子类的需求,则子类可以重写父类中的方法来加以扩展. 向上转型:子类引用的对象转换为父类类型称为向上转型.通俗地说就是是将子类对象转为父类对象.此处父类对象可以是接口 向下转型:父类引用的对象转换为子类类型称为向下转型. 前者是一个向上转型,Animal dog 引用指向new Dog();子类对象当成父类对象,只能调用父类的成员,如果子类

Filter过滤器和Listener监听器详解

11-28
Filter过滤器和Listener监听器详解 Filter过滤器 Filter的简介 对资源的访问进行过滤,相当于小区的保安,进去要检查,出去还要检查. Filter的使用 编写一个类,继承并实现javax.servlet.Filter. package com.jyh.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.s

Java、C++性能PK:孰强孰弱

12-25
有关C++与Java的争论缘来已久,C++和Java语言之间的不同可以追溯到它们各自的传统,它们有着不同的设计目标.作者针对以上两大网站的问题(感兴趣的朋友可以移步去看下)进行补充与思考,从性能的角度进行对比发表一些看法与见解,一起来看下. 1. 内存使用率.当CPU性能增加时访问RAM就会变得相对缓慢,因此内存使用率在实际运用中非常重要.这一点,Java则显得相对弱一点:a.每个对象至少占用8个字节:b.无法使用堆栈分配对象:C.常用库存迫使形成一个对象.此外,Java对象数组能真正引用数组,

Java这些年来给我们带来了什么

12-25
十年前,几乎没有人想到,几个技术人员研发的一个"小语言",会发展成如今的一个"生态圈",这就是Java从某种意义上讲,Java是SUN的救世主,与.NET是不离不弃的双子星. 1.如果没有Java,SUN将会怎样 从1997年4月6日美国旧金山的第二届Java One大会,到今年的Java十周年盛事,目睹了Java 十年的风风雨雨,眼瞅着这个以"咖啡"命名的小小编程语言变成了一个平台,一个社团,一个生态系统.Java不仅发展了自己,也同时改变了它

一看就懂:编程语言影响力排名

12-25
著名的TIOBE排行榜在每个月都会给编程语言排名,从侧面说明哪些编程语言使用比较广泛.那么你是否考虑过这些编程语言彼此之间的影响力呢?哪一门语言的影响力是最大的呢?显而易见,大多数开发者都会认为他们的语言是最好的.如果你想要一个更科学的视图,可以查看下面这幅编程语言影响图. 编程语言之间的影响力 下图是由Ramio Gómez实现,图中的每个节点代表1种编程语言,之间的连线代表该编程语言对其他语言有影响.看了它,你可能会问,为何Lisp比SQL更具影响力呢? 该图数据来自Freebase上的编程

Javascript的IE和Firefox(火狐)兼容性

12-25
1. document.form.item 问题(1)现有问题:现有代码中存在许多 document.formName.item("itemName") 这样的语句,不能在Firefox(火狐)下运行(2)解决方法:改用 document.formName.elements["elementName"](3)其它参见 2 2. 集合类对象问题(1)现有问题:现有代码中许多集合类对象取用时使用 (),IE 能接受,Firefox(火狐)不能.(2)解决方法:改用 []

JAVA JUNIT中有关TestSuite的使用

12-25
自己定义的TestCase,并使用TestRunner来运行测试,事实上TestRunner并不直接运行 TestCase上的单元方法,而是透过TestSuite,TestSuite可以将数个TestCase在一起,而让每个TestCase保持简单. 来看看一个例子: MathToolTest.javaview plain package onlyfun.caterpillar.test;      import onlyfun.caterpillar.MathTool;   import ju

浅谈java中的四个核心概念

12-25
Java已经成为一个庞大而复杂的技术平台,对于开发人员而言,要想更好的掌握Java技术,深入理解底层的技术处理细节必不可少.现在介绍下java的四个核心概念: 1.Java虚拟机 Java虚拟机的主要任务是装在class文件并且执行其中的字节码.Java虚拟机包含一个类装载器,它可以从程序和 API中装载class文件.Java API中只有程序执行时需要的那些类才会被装载.字节码由执行引擎来执行.不同的Java虚拟机中,执行引擎可能实现得非常不同.在由软件实现的虚拟机中,最简单的执行引擎就是一

java线程安全总结

12-25
最近想将java基础的一些东西都整理整理,写下来,这是对知识的总结,也是一种乐趣.已经拟好了提纲,大概分为这几个主题: java线程安全,java垃圾收集,java并发包详细介绍,java profile和jvm性能调优 .慢慢写吧.本人jameswxx原创文章,转载请注明出处,我费了很多心血,多谢了.关于java线 程安全,网上有很多资料,我只想从自己的角度总结对这方面的考虑,有时候写东西是很痛苦的,知道一些东西,但想用文字说清楚,却不是那么容易.我认为要认 识java线程安全,必须了解两个主

Servlet基础_0100_HelloWorld

12-25
一.servlet简介 servlet是服务器端的小程序,但不一定是web服务器的小程序,他也可以是smtp端的小程序,也可以邮件服务器的小程序,它只是sun为javaee定的一个标准,sun为javaSE提供了强大的类库,但sun没有为javaEE提供类库,这也不可能提供的,他只是提供了这样的一套标准.三流公司卖产品,二流公司卖服务,一流公司卖标准,sun可能是一流的公司,只是现在被oracle收购了-- javax.servlet.Servlet是一个接口,它定义了这类程序的标准,所有实现使

ASP.NET MVC 2中使用jQuery UI控件详解

12-25
问:我想给我的ASP.NET MVC输入表单添加一个日期选择控件,但模型-视图-控制器(MVC)并没有提供这样的辅助方法,我该如何添加控件? 答:和ASP.NET Web表单不一样,MVC架构没有提供可以在设计面板中拖放的有状态的服务端控件,相反,MVC鼓励使用简单的HTML布局元素和基于数据的标签作为页面布局的要素,功能和最终的布局用客户端JavaScript和CSS样式表控制. MVC提供了一套基于HtmlHelper的扩展方法渲染大部分HTML标签,对于更复杂的功能,你需要自己编写HTML

C#之int挑战Java之Integer

12-25
本文涉及到一些JVM原理和Java的字节码指令,推荐感兴趣的读者阅读一本有关JVM的经典书籍<深入Java虚拟机(第2版)>,将它与我在<.NET 4.0面向对象编程漫谈>中介绍的CLR原理与IL汇编指令作个对比,相信读者会有一定的启发.而仔细对比两个类似事物的异同,是很有效的学习方法之一. 今后我还将在个人博客上放出其他的文章,希望能帮助书的读者开拓视野,启发思考,大家一起探讨技术的奥秘. 本文所述之内容仅代表个人之理解,任何疏漏及错误请直接回贴指出. 1 奇特的程序输出 前段时

虚方法的使用

12-25
<编程絮语>之一 C#的语法脱胎于C++,因而保留了virtual关键字,可以定义一个虚方法(或虚属性).一个类的成员被定义为virtual,就意味着它在告诉自己的子类:我准备了一笔遗产,你可以全盘接受,也可以完全拒绝或者修改我的遗嘱.显然,虚方法授予子类的权利甚至大于抽象方法.子类面对抽象方法只有重写(override)的权利,而对于虚方法,它还可以选择完全继承. 毫无疑问,虚方法破坏了对象的封装性.如果不加约束的使用,会对调用方造成破坏,至少它有可能破坏子类与父类之间在外在行为上的一致性.

Java和.NET互操作:我们应该放弃Web Service吗?

12-25
通过Web Service混合.NET和Java技术往往很容易,但Web Service并非是.NET和Java互操作的万灵丹.WebService在集成独立的跨网络通信的组件时非常有用,在简单的调用/返回情景中,涉及的数据类型数量非常有限,且WebService是基于标准的,混合.NET和Java技术通常显得很简单,因此有人认为WebService是实现.NET和Java互操作的万能答案,但事实却并非如此. 在搜索引擎中搜索一下"Java .NET互操作"将会返回很多搜索结果,但听过

我对NHibernate的感受(2):何必到处都virtual

12-25
上一篇文章主要是在夸NHibernate实现的好,而这篇就完全是来抱怨的了.NHiberante有个毛病,就是如果是和数据库产生映射的类,就要求所有的public成员和protected成员必须是virtual的.请注意这里的要求有两个细节: 即使是方法,也必须标记为virtual 即时是不和数据库有映射关系的属性,也必须标记为virtual 这就让我觉得无厘头了,为什么没有任何关系的东西也要受到限制?我知道NHiberante要求将属性标记为virtual是为了延迟加载,因为只有这样它才能生成

关于.NET VS JavaEE平台争论的沉思录

12-25
最近关于.NET和java平台之间的争论似乎又热起来了,就我关注的两个社区,先是老赵的<为啥老赵不喜欢Java*语言*>.引发了博客园的大讨论,最近csdn又有人发博.Net与J2EE的快餐型比较,引发了空前的大讨论.从论调来说感觉对java不利.虽然csdn得那个篇博文深度不够,但确实引发了 大量了讨论,虽然很 多人都说,这个话题没啥好讨论的,既然引发了大讨论,自认有其内在原因在驱动,所谓空穴来风.... 关于两个平台的 优劣已经讨论的够多了,我在这里就不多说了,我在这里提个现实的问题供大家

C# 4.0下的新特性

12-25
回顾C#发展的历史,C#1.0完全是模仿Java,并保留了C/C++的一些特性如struct,新学者很容易上手:C#2.0加入了泛型,也与Java1.5的泛型如出一辙:C#3.0加入了一堆语法糖,并在没有修改CLR的情况下引入了Linq,简直是神来之笔,虽然很多项目出于各种各样如性能之类的原因没有采用,但非常适合小型程序的快速开发,减轻了程序员的工作量,也提高了代码的可读性:C#4.0增加了动态语言的特性,从里面可以看到很多javascript.python这些动态语言的影子.虽然越来越偏离静态

20 种提升网页速度的技巧

12-25
引言 不是所有人都能够使用高速 Internet 连接.即使每个人都能够使用高速网络,也会因为各种各样的原因使您的 Web 应用程序看起来运行缓慢.在这个宽带速度不断提高的时代,您应当关注一下页面加载时间.将珍贵的页面加载时间缩短几秒,将更加珍贵的请求和响应时间缩短几毫秒.您将为访问者创造一种更好的体验.阅读完本文之后,您将能够较好地了解网页加载时间优化的基本知识.您还能够使用工具和知识更好地识别和判断加载缓慢的页面部分和瓶颈. 先决条件 在理想情况下,您应该安装了 Mozilla Firefo