`
andey007518
  • 浏览: 21766 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
一、公钥加密 假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。 我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用 数字2,就是我的私钥,来解密。这样我就可以保护数据了。 我的好朋友x用我的公钥1加密了字符a,加密后成了b,放在网上。别人偷到了这个文件,但是别人解不开,因为别人不知道2就是我的私钥, 只有我才能解密,解密后就得到a。这样,我们就可以传送加密的数据了。 二、私钥签名 如果我用私钥加密一段数据(当然只有我可以用私钥加密, ...
问及struts方面的内容:aciton是否thread safe? 下面是找的另一位同胞的文章: action到底是thread safe还是unsafe呢 我们来看看servlet是否是thread safe ,action都是继承至servlet的 看看其他资料的解释: JSP默认是以多线程方式执行的,这是JSP与ASP,PHP,PERL等脚本语言不一样的地方,也是它的优势之一,但如果不注意多线程中的同步问题,会使所写的JSP程序有难以发现的错误。 JSP的中存在的多线程问题: 当客户端第一次请求某一个JSP文件时,服务端把该JSP编译成一个CLASS文件,并创 ...

谈谈java的多线程

程序、进程和线程: 程序是一段静态的代码,它是应用程序执行的蓝本。进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。线程是比进程更小的单位,一个进程执行过程中可以产生多个线程,每个线程有自身的产生、存在和消亡的过程,也是一个动态的概念。每个进程都有一段专用的内存区域,而线程间可以共享相同的内存区域(包括代码和数据),并利用这些共享单元来实现数据交换、实时通信与必要的同步操作。 每个Java程序都有一个默认的主线程。Java程序总是从主类的main方法开始执行。当JVM加载代码,发现main方法后就启动一个线程, ...
1. 类的静态变量在内存中只有一个。静态变量位于方法区,被类的所有实例共享。静态变量的生命周期取决于类的生命周期(即类何时被加载和卸载)。 2. 类的每个实例都有相应的实例变量。实例变量位于堆区中。实例变量的生命周期取决于实例的生命周期(即实例何时被创建及销毁)。 3. 假如成员变量(包括静态变量和实例变量)是引用变量,那么当该成员变量结束生命周期时,并不意味着它所引用的对象也一定结束生命周期。变量的生命周期 和对象的生命周期是两个不同的概念。 4. 局部变量位于栈区,其生命周期取决于所属的方法何时被调用及结束调用。      总结一下:      局部变量位于栈区,静态变量位于 ...
view plainprint? servlet文档:    1.服务器如何调用servlet的?        servlet是运行在服务器的程序,当客机请求服务器的时候,服务器servlet会调用service方法,它会自动判断如果它是get方式提交,那么   就调用doget()方法如果是post提交就调用dopost()方法.我们只需要重写doget()跟dopost()方法即可!      2.servlet与生命周期相关的方法何时被执行:        1.任何从客户端发过来的请求,会导致service方法会被执行      2.当servlet被创建出来时,初始 ...
本文从源代码入手,分析Tomcat的启动过程,共两篇文章。这是第一篇。 main方法 第一阶段 第二阶段 第三阶段 启动参数的区别 一个Bug configtest启动参数 一般,我们直接运行startup.sh 来 启动Tomcat 。最终执行的命令是: view sourceprint?1 java [options] org.apache.catalina.startup.Bootstrap start options是JVM启动参数,这里忽略。 main方法 可见,Tomcat 的启动类是org.apache.catalina.startup.Bootstrap ...

oracle经典sql面试

  一个学校表,school,列class 班级,name  学生姓名,sex 性别,男为'M',女为'F',一个学校表很多的班级,查询出男生,女生数量相同的班级。 好久不搞sql,几乎都忘光了,特此纪念, select tem.class from(   select class,          (select count(sex)             from schools s1            where s1.class = s.class              and s1.sex = 'M') AS MCOUNT,          (select ...
JVM结构分为以下五个主要部分: 一组指令集,一组寄存器,一个栈,一个无用单元收集堆,一个方法区域。 Java跨平台就是JVM对java代码进行了字节编码,和平台无关性,直接底层和机器进行交互。 ======================== 操作系统装入JVM是通过jdk中Java.exe来完成,通过下面4步来完成JVM环境. 1.创建JVM装载环境和配置 2.装载JVM.dll 3.初始化JVM.dll并挂界到JNIENV(JNI调用接口)实例 4.调用JNIEnv实例装载并处理class类。 一.JVM装入环境,JVM提供的方式是操作系统的动态连接文件.既然是文件那 ...

struts2基本原理

Struts 2 的整体结构可以参考官方结构,在此省略。基本原理如下: 一个请求在Struts2框架中的处理大概分为以下几个步骤 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action 4 如果ActionMa ...
[/b]   前端时间碰到了单例模式的问题,涉及到多线程的问题,在此进行一次基本的温习,单例模式就是程序应用共用一个对象,节省了内存的资源,刚才看了一个同学的jdk有关的并发包的例子,包括控制多线程的并发调度、同步、交互、交换、协作等等,感受良多,线程不单单有竞争也有协作的关系,在此复习下基本的知识, [b]在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;   Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的   run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限 ...
安装后MYSQL5后,发现启动出错,有时启动正常,但加接时马上出错。 出错代码:1067 解决办法如下: 1.删除%windows%/my.ini 2.删除其它地方的my.ini 3.在mysql安装目录下把my-small.ini复制为my.ini 4.在my.ini最后一行插入: CODE: [mysqld] #设置basedir指向mysql的安装路径 basedir=C:\mysql-5.1.11-beta-win32 datadir=C:\mysql-5.1.11-beta-win32\data 5.重新启动。。。 =================== 注:C:\my ...
索引是快速搜索的关键。MySQL索引的建立对于MySQL的高效运行是很重要的。下面介绍几种常见的MySQL索引类型。 在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytable表: CREATE TABLE mytable(  ID INT NO ...
Global site tag (gtag.js) - Google Analytics